前言:
移動開發少不了網路連線,我們開發者最主要的網路程式設計方式就是socket和http程式設計,首先簡單介紹一下兩者的切和聯絡。
一.首先大家都知道socket是對tcp/ip/udp協議的封裝,我們程式設計師只管呼叫即可,http是應用層協議,其底層也是tcp協議,主要解決包裝資料。
二.http是請求和響應,不能主動向客戶端傳送資料,而socket程式設計是雙向的,既可以主動向客戶端傳送資料也可以是請求響應的關係
步驟:1.初始化,連線伺服器
selector = selector.open();// 開啟觸發器
socketchannel = socketchannel.open();// 開啟通道
filelog.loginfo("//開啟通道", "//開啟通道");
boolean isconnected = socketchannel
.connect(new inetsocketaddress(comconstants.mvideoip,
comconstants.mvideoport));// 鏈結通道
filelog.loginfo("//鏈結通道", "//鏈結通道");
socketchannel.configureblocking(false);// 非阻塞模式
selectionkey key = socketchannel.register(selector,
selectionkey.op_read);// 註冊有資料來的時候觸發器
if (!isconnected)
2.開啟讀取資料的通道
我採用的while迴圈,不停地去讀取是否有服務端資料發來
3.發起請求
bytebuffer bbbuffer = bytebuffer.wrap(databuildhelper
.gettokenpacket(messagetype, token, recevietokens,
messagecontent));
while (bbbuffer.hasremaining())
}
android學習筆記 Socket編
android學習筆記 socket程式設計 inonoclas 十三 socket程式設計 socket基本通訊模型 使用基於tcp協議的socket 使用基於udp協議的socket socket套接字 用於描述ip位址和埠是乙個通訊鏈的控制代碼 以你公用程式通過 套接字 向網路發出請求或者應答...
silverlight中的socket程式設計注意事項
1.粘包 目前sl中的socket只能用tcp ip協議,而tcp ip本質是乙個 流 協議,也就是說資料無邊界,傳送的就是一連串的位元組 沒有資料報的概念 因此連續傳送時有所謂的 粘包 現象,詳細解釋如下 比如你設定傳送緩衝區的大小是512位元組,如果 在相隔時間極短的情況下 連續傳送次資料,第一...
python 112 網路程式設計 Socket程式設計
例項1 客戶端發小寫英文,伺服器端返回給客戶端大寫英文 僅支援一次接受傳送 伺服器端 伺服器端 先於客戶端執行 import socket server socket.socket server.bind localhost 6969 繫結要監聽的埠,只能接受乙個引數 server.listen 監...