socket客戶端的程式設計步驟

2021-09-17 00:09:45 字數 958 閱讀 3649

一、請求版本號

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...