关于SOCKET编程服务器的问题
下面是代码:
#include <WinSock2.h>socket 服务器 编程 乱码
#include <stdio.h>
int main()
{
WORD wVersionRequested;
WSADATA wsaData;
int err;
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;
}
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(6001);
bind(sockSrv,(SOCKADDR*)&addrSrv,sizeof(SOCKADDR));
listen(sockSrv,5);
SOCKADDR_IN addrClient;
int len=sizeof(SOCKADDR);
SOCKET sockConn=accept(sockSrv,(SOCKADDR*)&addrClient,&len);
while(1)
{
//char sendBuff[100];
//sprintf(sendBuff,"Welcome %s to here",inet_ntoa(addrClient.sin_addr));
//send(sockConn,sendBuff,strlen(sendBuff)+1,0);
char recvBuf[10000];
recv(sockConn,recvBuf,10000,0);
printf("%s\n",recvBuf);
}
closesocket(sockConn);
return 0;
}
char recvBuf[10000];
int size = recv(sockConn,recvBuf,10000,0);
if( size == 0)
break;
printf("%s\n",recvBuf);
为何你的accept不是在while(1)里面呢???
就一个连接,连上之后就一直接受数据.
即使改了之后还是不显示数据,但是右边那个下拉条一直在往下走