VC++写进销存通讯问题,高手请进
比较急,希望高手可以给我解答!
情况大概是这样的,我在写进销存的服务器端程序的时候,建的是一个单文档的程序,然后服务器端通讯的代码如下,写完之后不管我放到那个类里去(我还自己建了一个类,用函数去调用),程序是可以编译通过的,运行也没问题,但是如果那段代码一添加进去,运行就死了,没有响应,希望高手可以给我解答,谢谢,写明为什么,要怎么搞定,谢谢了
代码:
#include "Winsock2.h"
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_family = AF_INET;
addrSrv.sin_addr.S_un.S_addr = htonl(INADDR_ANY);
addrSrv.sin_port = htons(6000);
bind(sockSrv,(SOCKADDR*)&addrSrv,sizeof(addrSrv));
listen(sockSrv,5);
sockaddr_in AddrClient;
int len=sizeof(SOCKADDR);
while(1)
{
SOCKET sockConn = accept( sockSrv,(SOCKADDR*)&AddrClient,&len );
char recvBuf[100];
char sendBuf[5];
recv(sockConn,recvBuf,strlen(recvBuf)+1,0); //接受客户账号密码
cout<<recvBuf<<endl;
CString TempBuf;
//bool YN = check_login(recvBuf); //验证客户账号密码,如果成功则发送1回去客户端,如果失败则发送0
/*if(YN == 1)
{
TempBuf = "11111";
strcpy(sendBuf,TempBuf);
send(sockConn,sendBuf,6,0);
}
if(YN == 0)
{*/
TempBuf = "00000";
strcpy(sendBuf,TempBuf);
send(sockConn,sendBuf,6,0);
//}
closesocket(sockConn);
}