1. 建立客戶端socket物件:socket clientsocket=new socket(addressfamily.internetwork,sockettype.stream,protocoltype.tcp);
2. 建立表示ip的位元組陣列:byte ip=new byte
3. 建立ipaddress物件:ipaddress ipaddress=new ipaddress(ip);
4. 建立ipendpoint物件:ipendpoint ipendpoint=new ipendpoint(ipaddress,服務端埠號);
5. 連線服務端: clientsocket.connect(ipendpoint);
6. 建立單獨的執行緒,執行資料互動的方法:thread thread=new thread(資料互動的方法);
7. 執行執行緒:thread.start();
8. 建立資料互動的方法:
建立連線狀態標誌:bool connectflag=true;
開始資料收發迴圈:
建立用來儲存實際傳送位元組數的變數:int sendnum=-1;
建立傳送位元組陣列資料塊:byte sendbuffer=new byte;
傳送資料:sendnum=this.clientsocket.send(sendbuffer);
建立用來儲存實際接收位元組數的變數:int receivenum=-1;
建立接收位元組陣列資料塊:byte receivebuffer=new byte[最多一次接收的位元組數]
接收資料:receivenum=this.clientsocket.receive(receivebuffer)
判斷讀取到的位元組數是否為0,如果為0,則對等連線已斷開
銷毀引用:clientsocket.dispose();
連線標誌置位false:connectflag=false;
退出迴圈:break;
9. *可以通過異常捕獲,得到客戶端的斷線狀態*
SOCKET客戶端程式設計
1.建立socket物件 socket建構函式有4個引數,第乙個是family,代表位址家族af net,af net6等,第二個是type,套接字型別sock stream 流套接字 和sock dgram 資料報套接字 import socket s socket.socket socket.a...
Socket服務端常用方法,不積矽步無以至千里
1.建立服務端socket物件 socket serversocket new socket addressfamily.internetwork,sockettype.stream,protocoltype.tcp 2.建立客戶端socket物件socket clientsocket null 3...
Socket實現HTTP客戶端
前些日子用 wininet做專案。功能忒強大了。但總覺得管理cookie有點不方便。即使設定了自己手動管理cookies。這天上掉餡餅的事還真的常常發生。比如你之前用瀏覽器訪問了這個站,留下了cookie 你再用wininet訪問的時候,這個餡餅就出現了。封包不難 連線後。將 headers一股腦堆...