server.c

来自「最简单的套接字编程」· C语言 代码 · 共 63 行

C
63
字号

#include <stdio.h>
#include <Winsock2.h>
#pragma comment (lib,"ws2_32.lib") 

int main(void)
{
 	WORD wVersionRequested;
 	WSADATA wsaData;
 	int err;
	SOCKET sockSrv;
	SOCKADDR_IN addrSrv;
	char sendBuf[50];
	int len;

	SOCKADDR_IN addrClient;
	SOCKET sockConn;
	char recvBuf[50];
 
 	wVersionRequested = MAKEWORD( 1, 1 );
 
 	err = WSAStartup( wVersionRequested, &wsaData );
 	if ( err != 0 ) 
 	{
		return 0;
 	}
 
 	if ( LOBYTE( wsaData.wVersion ) != 1 || HIBYTE( wsaData.wVersion ) != 1 ) 
 	{
		WSACleanup( );
		return 0;
 	}
 
 	sockSrv=socket(AF_INET,SOCK_STREAM,0);

 	
 	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);

 	len=sizeof(SOCKADDR);

 	while(1)
 	{
		sockConn=accept(sockSrv,(SOCKADDR*)&addrClient,&len);
  	
		sprintf(sendBuf,"Welcome %s to here!",inet_ntoa(addrClient.sin_addr));
		send(sockConn,sendBuf,strlen(sendBuf)+1,0);
  	
		recv(sockConn,recvBuf,50,0);
		printf("%s\n",recvBuf);
		closesocket(sockConn);
 	}

 	return 0;

}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?