是要MFC还是application?
给你个application的吧要用MFC可以发我消息
服务器端:
#includestdio.h
#includeWinsock2.h
#pragmacomment(lib,\"ws2_32.lib\")
voidmain()
{
WORDwVersionRequested;
WSADATAwsaData;
interr;
wVersionRequested=MAKEWORD(1,1);
err=WSAStartup(wVersionRequested,
if(err!=0){
return;
}
if(LOBYTE(wsaData.wVersion)!=1||
HIBYTE(wsaData.wVersion)!=1){
WSACleanup();
return;
}
SOCKETsockSrv=socket(AF_INET,SOCK_STREAM,0);
SOCKADDR_INaddrSrv;
addrSrv.sin_addr.S_un.S_addr=htonl(INADDR_ANY);
addrSrv.sin_family=AF_INET;
addrSrv.sin_port=htons(6000);
bind(sockSrv,(SOCKADDR*)//绑定端口
listen(sockSrv,5);
SOCKADDR_INaddrClient;//连接上的客户端ip地址
intlen=sizeof(SOCKADDR);
while(1)
{
SOCKETsockConn=accept(sockSrv,(SOCKADDR*)//接受客户端连接,获取客户端的ip地址
charsendBuf[50];
sprintf(sendBuf,\"Welcome%stohere!\",inet_ntoa(addrClient.sin_addr));//组合消息发送出去
send(sockConn,sendBuf,strlen(sendBuf)1,0);//发送消息到客户端
charrecvBuf[50];
recv(sockConn,recvBuf,50,0);//接受客户端消息
printf(\"%s\\n\",recvBuf);
//closesocket(sockConn);//断开连接
}
}
客户端代码
#includestdio.h
#includeWinsock2.h
#pragmacomment(lib,\"ws2_32.lib\")
voidmain()
{
WORDwVersionRequested;
WSADATAwsaData;//WSAata用来存储系统传回的关于WinSocket的资料。
interr;
wVersionRequested=MAKEWORD(1,1);
err=WSAStartup(wVersionRequested,
if(err!=0){
return;
}
if(LOBYTE(wsaData.wVersion)!=1||HIBYTE(wsaData.wVersion)!=1)
{
WSACleanup();
return;
}
SOCKETsockClient=socket(AF_INET,SOCK_STREAM,0);//AF_INET..tcp连接
//初始化连接与端口号
SOCKADDR_INaddrSrv;
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*)//连接服务器
charrecvBuf[50];
recv(sockClient,recvBuf,50,0);//接受数据
printf(\"%s\\n\",recvBuf);
send(sockClient,\"hello\",strlen(\"hello\")1,0);//发送数据
closesocket(sockClient);//关闭连接
WSACleanup();
}
注意端口号不要设置保留端口和3000不然会出错 |