一、請求版本號
1、首先定義乙個結構體物件
wsadata wsadata;
關於wsadata結構體
struct wsadata ;
2、使用wsastatup()請求2.1版本號
dword ret=wsastartup(makeword(2,1),&wsadata)
makeword(2,1)中,2是指主版本號,對應 wsadata結構體中的
word wversion低位位元組儲存主版本號。1是指副版本號,對應wsadata
結構體中的word whighversion高位位元組儲存副版本號
如果請求版本號成功返回0。
二、建立套接字
使用socket(af_inet, sock_stream, ipproto_tcp)
第乙個引數是協議族,af_inet是指ipv4。第二個引數是指
傳輸型別,sock_stream是指流式套接字。
第三個引數是傳輸協議, ipproto_tcp是指tcp 協議。
具體該傳什麼引數可以根據自己程式需求決定。
如果建立套接字失敗會返回引數invalide_socket。
三、繫結套接字
相對服務端來說,客戶端的這一步沒有呼叫繫結套接字
這個函式,只是指定了ip位址和埠號
sockaddr_in addr = ;
addr.sin_family = af_inet;
addr.sin_addr.s_un.s_addr = inet_addr(「112.193.135.235」);
addr.sin_port = htons(43173);
四、連線伺服器
連線伺服器使用函式connect,如果連線失敗返回socket_error,
如果連線成功就會返回0。
五、接收或者傳送訊息
利用函式send和recv傳送或者接收訊息與服務端通訊。
SOCKET客戶端程式設計
1.建立socket物件 socket建構函式有4個引數,第乙個是family,代表位址家族af net,af net6等,第二個是type,套接字型別sock stream 流套接字 和sock dgram 資料報套接字 import socket s socket.socket socket.a...
socket程式設計範本 客戶端
include include void main if lobyte wsadata.wversion 1 hibyte wsadata.wversion 1 socket sockclient socket af inet,sock stream,0 建立套接字 socket sockaddr ...
socket程式設計,客戶端的實現
相比伺服器端,客戶端實現比較簡單,下面是步驟 1,建立socket 2,連線 由connect 函式實現。3,其他的都和伺服器端一樣了。include include include include include include include include include define por...