TCP通訊C 實現

2021-06-07 13:58:33 字數 1290 閱讀 8971

tcp客戶端與伺服器端通訊模型:

伺服器端實現:

#include

#include

#pragma comment(lib,"ws2_32")

using namespace std;

void main()

if ( lobyte( wsadata.wversion ) != 1 ||

hibyte( wsadata.wversion ) != 1 )

socket fd,fd_client;

struct sockaddr_in addr_server,addr_client;

char buf[100];

fd=socket(af_inet,sock_stream,0); //建立監聽套接字

addr_server.sin_family=af_inet;

addr_server.sin_addr.s_un.s_addr=htonl(inaddr_any);

addr_server.sin_port=htons(6000);

bind(fd,(sockaddr *)&addr_server,sizeof(addr_server));

listen(fd,5);

int len=sizeof(sockaddr);

while(1)

}客戶端實現:

#include

#include

#pragma comment(lib,"ws2_32")

using namespace std;

void main()

if ( lobyte( wsadata.wversion ) != 1 ||

hibyte( wsadata.wversion ) != 1 )

socket fd;

struct sockaddr_in addr;

char buf[100]="client:nihao";

fd=socket(af_inet,sock_stream,0);

addr.sin_family=af_inet;

addr.sin_addr.s_un.s_addr=inet_addr("127.0.0.1");

addr.sin_port=htons(6000);

connect(fd,( sockaddr *)&addr,sizeof(addr));

send(fd,buf,100,0);

recv(fd,buf,100,0);

cout<

closesocket(fd); }

C 實現TCP通訊

服務端 include initsock.h include include include include using namespace std cinitsock initsock 初始化winsock庫 sockaddr in serveraddr sockaddr in remoteadd...

linux下C 實現TCP通訊

udp教程可以檢視 tcp通訊協議鏈結過程如下圖所示。由上圖可看出 tcp的伺服器需要bind listen accept tcp的客戶端需要connect 伺服器 如下 include include include include include include include include ...

socket實現TCP通訊

tcp是一種可靠的,面向連線的協議。在socket中,建立tcp連線的過程大致如下 伺服器端 1.初始化套接字 2.建立伺服器socket 3.將本機位址與伺服器socket繫結在一起 4.伺服器開始監聽 5.伺服器確認請求 確認之前時一種阻塞的狀態 accept 函式生成乙個新的socket。6....