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

{
WORD wVersionRequested;
WSADATA wsaData;
int err; 
wVersionRequested = MAKEWORD( 1, 1 ); 
err = WSAStartup( wVersionRequested, &wsaData ); 
if ( err != 0 )
{ 
return;
} 
if ( LOBYTE( wsaData.wVersion ) != 1 || 
HIBYTE( wsaData.wVersion ) != 1)
{
WSACleanup( );
return;
}
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(4444); 
bind(socksrv,(sockaddr*)&addrsrv,sizeof(SOCKADDR)); 
listen(socksrv,5); 
SOCKADDR_IN addrclient;
int len=sizeof(SOCKADDR); 
while(1) 
{
SOCKET sockconn=accept(socksrv,(SOCKADDR*)&addrclient,&len);
char sendbuf[100];
sprintf(sendbuf,"welcome %s to TCP server",inet_ntoa(addrclient.sin_addr));
send(sockconn,sendbuf,strlen(sendbuf)+1,0);
char recvbuf[100];
recv(sockconn,recvbuf,100,0);
printf("%s\n",recvbuf);
closesocket(sockconn); 
} 
}
3284

被折叠的 条评论
为什么被折叠?



