为什么服务器收不到发送的数据?(高手看来很简单)
我是菜鸟~
1)这是客户端程序.
2)服务器已经调试完毕,可以使用telnet来测试,服务器是linux.
3)客户端程序运行后就停止不动了,除非按Ctrl+C才退出.
#include <winsock2.h>
#include <stdio.h>
void main(void)
{
WSADATA wsaData;
SOCKET s;
SOCKADDR_IN ServerAddr;
unsigned short Port = 5331;
char recvbuf[100];
int recvlen;
int nSocket;
WSAStartup(MAKEWORD(2,2),&wsaData);
s = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
ServerAddr.sin_family = AF_INET;
ServerAddr.sin_port = htons(Port);
ServerAddr.sin_addr.s_addr = inet_addr("218.xx.xx.xxx");
connect(s, (SOCKADDR *) &ServerAddr, sizeof(ServerAddr));
char tmp[256];
strcpy(tmp,"hello.");
send(s,tmp,sizeof(tmp),0);//<<<<就是这里
recvlen = recv(s,recvbuf,100,0);
recvbuf[recvlen] = '\0';
printf("%s",recvbuf);
closesocket(s);
WSACleanup();
}
附加服务器日志:
2006-12-12 21:20:42 27 [015] [log] Initialized from Address 218.xx.xx.56:28935
2006-12-12 21:20:42 27 [015] [log] Process id is 7217<<<<直到client按下Ctrl+C下面一行才出来.
2006-12-12 21:21:21 10 [015] [log] Client Closed Connection