代码如下:
WSADATA Data;
SOCKADDR_IN clientSockAddr;
SOCKET clientSocket;
int status;
int nResult;
status=WSAStartup(MAKEWORD(1, 1), &Data);
clientSocket=socket(AF_INET, SOCK_STREAM, IPPROTO_IP);
if (clientSocket == INVALID_SOCKET)
cerr << "ERROR: socket unsuccessful" << endl;
clientSockAddr.sin_port=htons(PORT);
clientSockAddr.sin_family=AF_INET;
clientSockAddr.sin_addr.s_addr=inet_addr("192.168.2.188");
clientSocket=connect(clientSocket,(struct sockaddr*) &clientSockAddr,sizeof (clientSockAddr));
char buffer[100]="xiaojin";
nResult=send(clientSocket,buffer,strlen(buffer),0);
CHAR lp[1022];
recv(clientSocket,lp,strlen(buffer),0);connect函数执行成功,能连上服务器,但是send和recv函数执行失败阿?为什么啊?
WSADATA Data;
SOCKADDR_IN clientSockAddr;
SOCKET clientSocket;
int status;
int nResult;
status=WSAStartup(MAKEWORD(1, 1), &Data);
clientSocket=socket(AF_INET, SOCK_STREAM, IPPROTO_IP);
if (clientSocket == INVALID_SOCKET)
cerr << "ERROR: socket unsuccessful" << endl;
clientSockAddr.sin_port=htons(PORT);
clientSockAddr.sin_family=AF_INET;
clientSockAddr.sin_addr.s_addr=inet_addr("192.168.2.188");
clientSocket=connect(clientSocket,(struct sockaddr*) &clientSockAddr,sizeof (clientSockAddr));
char buffer[100]="xiaojin";
nResult=send(clientSocket,buffer,strlen(buffer),0);
CHAR lp[1022];
recv(clientSocket,lp,strlen(buffer),0);connect函数执行成功,能连上服务器,但是send和recv函数执行失败阿?为什么啊?
connect函数返回的是什么?这里有问题????connect之后调用WSAGetLastError...
然后根据错误号查一下是什么问题。
if(connect(clientSocket,(struct sockaddr*) &clientSockAddr,sizeof (clientSockAddr)) != SOCKET_ERROR)
试试看
sizeofclientSockAddr));
//这是把clientSocket的值改变了,当然不能了
int ret = connect(clientSocket,(struct sockaddr*) &clientSockAddr,
sizeofclientSockAddr));
if(ret == SOCKET_ERROR)
return ;
char buffer[100]="xiaojin";
nResult=send(clientSocket,buffer,strlen(buffer),0);这样可以