Winsock程式設計示例收錄

2021-06-06 15:45:34 字數 1887 閱讀 6152

偶然看到乙個簡單可用的socket通訊示例程式,借助winsock靜態庫的功能,**風格很類似linux下的套介面程式設計

伺服器端

#include#include#pragma comment(lib,"ws2_32.lib")

void main()

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

hibyte( wsadata.wversion ) != 1 )

/* * 初始化網路套介面

*/ socket socksrv=socket(af_inet,sock_stream,0);

sockaddr_in addrsrv;

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

addrsrv.sin_family=af_inet;

addrsrv.sin_port=htons(6000);

bind(socksrv,(sockaddr*)&addrsrv,sizeof(sockaddr));

listen(socksrv,5);

sockaddr_in addrclient;

int len=sizeof(sockaddr);

/* * 等待通訊

*/ while (1)

}

客戶端

#include#include#pragma comment(lib,"ws2_32.lib")

void main()

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

/* * 初始化網路套介面

*/ socket sockclient=socket(af_inet,sock_stream,0);

/* * 設定傳送超時時間和接收超時時間

*/ int timeout=6000;

if(::setsockopt(sockclient,sol_socket,so_sndtimeo,(char *)&timeout,sizeof(timeout))==socket_error)

timeout=6000;

if(::setsockopt(sockclient,sol_socket,so_rcvtimeo,(char *)&timeout,sizeof(timeout))==socket_error)

/* * 設定非阻塞

*/ //unsigned long ul = 1;

//err = ioctlsocket(sockclient, fionbio, (unsigned long*)&ul);

//if(err==socket_error)return;

sockaddr_in addrsrv;

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

addrsrv.sin_family=af_inet;

addrsrv.sin_port=htons(6000);

connect(sockclient,(sockaddr *)&addrsrv,sizeof(sockaddr));

/* * 通訊

*/ char recvbuffer[100];

recv(sockclient,recvbuffer,100,0);

printf("%s\n",recvbuffer);

send(sockclient,"this is kary",strlen("this is kary")+1,0);

closesocket(sockclient);

wsacleanup();

}

winsock程式設計

伺服器端 include include pragma comment lib,ws2 32.lib using namespace std void do service socket conn while 1 不斷接收客戶端傳送的資料 if lobyte wsadata.wversion 2 h...

winSock網路程式設計 協議的簡單示例(P)

1.關於udp udp相對於tcp而言,它是不可靠的協議,不是有話說,任何存在的東西總有其優點所在 嗎?udp雖然可靠性不夠高,但傳輸效率卻很高,速度也很快,所以用的也很多。2.通訊前的注意工作 因為採用基於windows套介面的程式設計,通訊前,要進行初始化windows sockets服務。用w...

Winsock程式設計框架

microsoft的windows sockets api是windows下的網路應用程式介面,為了適用於 windows下的訊息機制和非同步的i o選擇操作,windows sockets api在功能上擴充了將近 20個函式,其中擴充的部分均冠以字首wsa windows sockets asy...