999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于Socket的Android聊天室系統設計與實現

2014-08-07 12:08:22胡晶晶
微處理機 2014年4期
關鍵詞:用戶系統

胡晶晶

(湖南生物機電職業技術學院,長沙410126)

基于Socket的Android聊天室系統設計與實現

胡晶晶

(湖南生物機電職業技術學院,長沙410126)

Android是一種基于Linux V2.6內核的自由及開放源代碼的智能手機操作平臺;Socket是一種網絡編程接口。介紹了Android基于Socket的通信機制,建立了一個基于Socket的Android聊天室系統。其中Android平臺的手機作為客戶端,PC作為服務器端。該系統能夠實現登錄、注冊、公聊、私聊、文件傳送等功能。

套接字Socket;安卓Android;聊天室;客戶端;服務器

1 引 言

Android是一種基于Linux V2.6內核的自由及開放源代碼的操作系統,主要用于移動設備。隨著移動互聯網的迅猛發展,Android已占據全球智能手機操作系統市場 3/4以上的份額。聊天室是Android手機不可或缺的網絡通信應用程序之一,而Socket機制是一種API,是進行網絡通信編程的接口。介紹了Android基于Socket的通信機制,建立了一個基于Socket的Android聊天室系統,提出了在C/S模式下用Socket實現Android聊天室系統的解決方案。

2 Android系統架構

Android是一個分層的系統架構,構建在Linux內核基礎上。Android分為四個層次,從高層到低層分別是應用程序層、應用程序框架層、系統運行庫層和Linux內核層。Android軟件層次結構如圖1所示。Android在其核心庫的java包中,提供了用于客戶端的Socket類和用于服務器端的ServerSocket類。

圖1 Android軟件層次結構圖

3 Android基于Socket的通信機制

Android與服務器的通信方式主要有兩種,一是Http通信,二是Socket通信。兩者的最大差異在于,http連接使用的是“請求—響應方式”,即在請求時建立連接通道,當客戶端向服務器發送請求后,服務器端才能向客戶端返回數據。而Socket通信則是在雙方建立起連接后就可以直接進行數據傳輸,在連接時可實現信息的主動傳送,而不需要每次由客戶端向服務器發送請求。通過建立Socket連接,可為通信雙方的數據傳輸提供通道。Socket的主要特點有數據丟失率低,使用簡單且易于移植。

根據傳輸數據類型的不同,Socket主要分為三類:①流式Socket(SOCK_STREAM),在這種方式下,兩個通訊的應用程序之間要先建立一種虛擬連接,提供可靠的、面向連接的通信流,它使用TCP協議從而保證了數據傳輸的正確性和有序性。②數據報Socket(SOCK_DGRAM),它使用數據報協議UDP,定義了一種無連接服務,數據通過相互獨立的報文進行傳輸,是無序的,并且不保證可靠、無差錯。③原始Socket,原始套接字允許對底層協議如IP或ICMP直接訪問,它功能強大但使用較為不便,主要用于一些協議的開發。

以下采用的是基于TCP協議的流式Socket方式。其通信機制框圖見圖2。

4 聊天室系統設計

聊天室系統由兩個部分組成:PC服務器端和Android手機客戶端。服務器端主要完成用戶信息的存儲、客戶端命令的接收與響應以及信息轉發等服務器端應有的功能。客戶端主要完成聊天信息的發送與接收、用戶登錄、注冊以及文件傳送等功能。

4.1 服務器端

服務器端的工作過程如下:

1)根據服務端的IP和PORT創建一個Server-Socket

2)調用ServerSocket.accept()方法監聽客戶端的連接

3)根據Socket創建InputStream對象和Output-Stream對象

4)調用InputStream.readUTF()或Output-Stream.writeUTF()與客戶端通信

5)循環上述過程,不斷監聽客戶端的連接

4.2 客戶端

客戶端的工作過程如下:

1)根據IP和PORT創建Socket對象,用于連接服務器

2)根據Socket創建InputStream對象和Output-Stream對象

3)調用這兩個對象和服務端通信

4)關閉InputStream和OutputStream

5)關閉Socket

5 聊天室具體實現

5.1 服務器端實現

服務器端程序一共包括四個類,其名稱及功能如下:

Server.java:服務器端主程序,負責界面,以及服務端主程序ServerThread的啟動,服務端主程序ServerThread又產生BroadCaset及ClientThread線程。

BroadCast.java:服務器向客戶端廣播線程,負責向客戶端發送消息。

ClientThread.java:維持服務器與單個客戶端的連接線程,負責接收客戶端發來的信息。

ServerThread.java:服務器監聽端口線程,負責創建服務器端ServerSocket以及監聽是否有新客戶端連接,并且記錄客戶端連接以及需要發送的信息。

5.2 客戶端實現

用戶登錄和注冊的主要類:

MainActivity和MyRegisteActivity類,前一個主要實現用戶登錄,后一個主要實現用戶注冊。

用戶實現私聊和群聊:

MyChatActivity和ChatEveryActivity類

用戶之間傳送和接收文件:

MyFileActivity、NetTcpFileSendThread和NetTcp-FileReceiveThread類

6 結束語

介紹了Android基于Socket的通信機制,建立了一個基于Socket的Android聊天室系統。該系統能夠實現用戶注冊、登錄、公共聊天、私人聊天以及文件傳送等功能。

[1]胡晶晶.基于Java Socket的聊天室系統設計與設計[J].微處理機,2010(5):66-67.

[2]Elliotte Rusty Harold.JAVA網絡編程(第3版)[M].朱濤江,林劍譯.北京:中國電力出版社,2005:283-390.

[3]林少丹.移動終端應用開發技術——Android實戰[M].北京:機械工業出版社,2013:1-176.

Design and Im plement of Android Chat System Based on Socket

HU Jing-jing
(Hunan Biological and Electro-mechanical Polytechnic,Changsha 410126,China)

Android is a smart-phone operating platform based on Linux V2.6 kernel,which is free and has open source code,and socket is a network programming interface.This paper introduces themechanism of Android communications based on Socket API,and designs an Android chat system based on Socket.In this system,the phoneswith Android platform are used as clients and a PC as a server,and the functions of login,registration,public chatting,private chatting,file transfer and so on are conducted aswell.

Socket;Android;Chat System;Client;Server

10.3969/j.issn.1002-2279.2014.04.016

TP393

:A

:1002-2279(2014)04-0050-02

胡晶晶(1967-),女,湖南株洲人,碩士,副教授,主研方向:計算機軟件、信息安全、信息隱藏。

2013-12-30

猜你喜歡
用戶系統
Smartflower POP 一體式光伏系統
工業設計(2022年8期)2022-09-09 07:43:20
WJ-700無人機系統
ZC系列無人機遙感系統
北京測繪(2020年12期)2020-12-29 01:33:58
基于PowerPC+FPGA顯示系統
半沸制皂系統(下)
連通與提升系統的最后一塊拼圖 Audiolab 傲立 M-DAC mini
關注用戶
商用汽車(2016年11期)2016-12-19 01:20:16
關注用戶
商用汽車(2016年6期)2016-06-29 09:18:54
關注用戶
商用汽車(2016年4期)2016-05-09 01:23:12
Camera360:拍出5億用戶
創業家(2015年10期)2015-02-27 07:55:08
主站蜘蛛池模板: 亚洲综合色婷婷中文字幕| 国产午夜无码专区喷水| a毛片免费看| 欧美另类精品一区二区三区| 色综合婷婷| 国产精品夜夜嗨视频免费视频| 91在线丝袜| 成人亚洲天堂| 亚洲av无码成人专区| 免费无码在线观看| 亚洲 欧美 日韩综合一区| 91麻豆精品国产91久久久久| 一区二区三区在线不卡免费| 国产一区二区福利| 嫩草影院在线观看精品视频| 青青草久久伊人| 中文国产成人精品久久| 久久99国产综合精品女同| 亚洲欧洲国产成人综合不卡| 视频国产精品丝袜第一页| 日本亚洲国产一区二区三区| 亚洲床戏一区| 午夜视频免费试看| 高清大学生毛片一级| 午夜精品福利影院| 内射人妻无码色AV天堂| 亚洲中文字幕日产无码2021| 色综合五月婷婷| 亚洲欧洲免费视频| 亚洲香蕉久久| 国产成人一二三| 国产chinese男男gay视频网| 亚洲高清中文字幕| 亚洲成a人片在线观看88| 日韩欧美国产中文| 国产精品va| 国产天天色| 无码内射在线| 欧美性精品不卡在线观看| 亚洲欧美日韩另类在线一| a级毛片网| 色一情一乱一伦一区二区三区小说| 麻豆AV网站免费进入| 国产欧美日韩专区发布| 欧美人在线一区二区三区| 免费一看一级毛片| 国产精品人人做人人爽人人添| 中文字幕有乳无码| 毛片a级毛片免费观看免下载| 欧美精品综合视频一区二区| 无码人中文字幕| 天堂网亚洲综合在线| a毛片在线播放| 欧美亚洲欧美| 麻豆国产在线观看一区二区 | a毛片在线免费观看| 国产一区在线视频观看| 国产一区自拍视频| 亚洲综合九九| 免费激情网站| 熟妇丰满人妻| 欧美丝袜高跟鞋一区二区| 999福利激情视频| 精品福利视频导航| 欧美第二区| 国产打屁股免费区网站| 91麻豆精品国产高清在线| 丰满的熟女一区二区三区l| 在线无码九区| 午夜国产理论| 久久亚洲中文字幕精品一区| a在线亚洲男人的天堂试看| www.亚洲一区二区三区| 亚洲an第二区国产精品| 亚洲欧美综合在线观看| 激情六月丁香婷婷| 日本一本正道综合久久dvd| 欧美国产日产一区二区| 亚洲无线视频| 亚洲中文字幕久久无码精品A| 国产va视频| 一本一本大道香蕉久在线播放|