android區域網通訊框架

2021-09-24 13:29:04 字數 534 閱讀 8106

該框架支援訊息失敗重複,訊息傳送成功或失敗的返回,支援心跳包,支援服務端斷網重連,話不多說直接上圖

上圖是整個框架的結構圖

tcpservice是服務端通訊的類,負責監聽客戶端連線請求,維護客戶端列表

finder是服務端,客戶端端搜尋的基類

subordinatefinder是服務端用來發現客戶端的finder,它執行乙個multicastsocket,被動的等待客戶端的發現請求,當有接收到客戶端訊息後將自己的ip傳送給客戶端。

subtcpclient, 呼叫startscan啟動乙個區域網搜尋,搜尋區域網裡面的所有的服務端,搜尋到之後將資訊返回給使用者。

connect方法是直接去連線對應的服務端。

device裡面的msgimpl直接負責訊息的傳送和接收,realtcpsender負責socket的收發,msgimpl是訊息處理的類,訊息格式,包頭,解決粘包的問題,傳送確認,心跳包等業務層的處理

Android socket區域網通訊

然後需要設定網路許可權,也就是在androidmaifest裡面新增internet許可權 public static string getlocalipaddress catch socketexception e return null 就可以獲取到本機的ip位址。在做第一次連線測試的時候,只需...

跨越區域網通訊(一)

通過adsl聯網的兩台主機怎麼才能相互通訊呢?對於一般的adsl使用者來說,通過adsl聯網都是動態ip,即它們的ip位址是不固定的。當它們聯上外網,電信給它乙個外網ip位址,當它斷開後電信會 此ip位址。重新聯網後,電信會根據剩餘的ip位址列表給出乙個新的外網ip位址。在socket通訊中,我們都...

python udp區域網通訊程式

使用自帶的socket通訊模組利用tcp進行網路通訊 匯入socket模組 import socket defmain 建立udp套接字 udp socket socket.socket socket.af inet,socket.sock dgram try 鍵盤錄入ip位址 deta ip in...