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
主站蜘蛛池模板: 欧美啪啪视频免码| 婷婷六月在线| 四虎影视库国产精品一区| AV不卡国产在线观看| 国产十八禁在线观看免费| 五月综合色婷婷| 一本大道AV人久久综合| 亚洲一级毛片在线观播放| 国产97色在线| 欧美一区二区自偷自拍视频| 毛片久久网站小视频| 性色生活片在线观看| 蜜桃视频一区| 精品国产香蕉在线播出| 精品国产成人国产在线| 久久特级毛片| 日韩不卡免费视频| 国产成人亚洲综合a∨婷婷| 国内老司机精品视频在线播出| 国产色婷婷视频在线观看| 人人91人人澡人人妻人人爽| 亚洲国产理论片在线播放| 波多野结衣一区二区三区四区视频 | 草草影院国产第一页| 精品无码国产一区二区三区AV| 亚洲国产中文在线二区三区免| 国产福利在线观看精品| 伊人中文网| 亚洲精品无码专区在线观看 | 亚洲国内精品自在自线官| 日本五区在线不卡精品| 免费在线a视频| 欧美精品黑人粗大| 国产成人一级| 国产经典在线观看一区| 欧美日韩高清在线| 强奷白丝美女在线观看| 国产精品永久免费嫩草研究院| 日韩第一页在线| 在线欧美一区| 国产第三区| 婷婷午夜影院| 久久亚洲高清国产| 国产极品粉嫩小泬免费看| 中文字幕 日韩 欧美| 中文成人无码国产亚洲| 亚洲不卡无码av中文字幕| 亚洲无码精品在线播放 | 亚洲免费成人网| 色老头综合网| 亚洲欧洲日产国产无码AV| 992tv国产人成在线观看| 美女一级毛片无遮挡内谢| 国产经典免费播放视频| 无码日韩精品91超碰| 日本成人一区| 亚洲成a人片77777在线播放| 日本人妻丰满熟妇区| 中文字幕不卡免费高清视频| 国产精品毛片一区| 蜜臀av性久久久久蜜臀aⅴ麻豆| 九九线精品视频在线观看| 国产va视频| 老司机久久99久久精品播放| 国产小视频免费| 久久婷婷六月| 动漫精品啪啪一区二区三区| 欧美一道本| 国产黄网站在线观看| 国产自在自线午夜精品视频| 国产中文一区二区苍井空| 国产高清毛片| 狠狠色狠狠色综合久久第一次| 久久99蜜桃精品久久久久小说| 久久香蕉国产线看观看亚洲片| 久久久久亚洲Av片无码观看| 日韩av电影一区二区三区四区| 久久公开视频| 久久a毛片| 欧美精品伊人久久| 亚洲国产精品日韩专区AV| 在线日本国产成人免费的|