|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 276691146 于 2012-4-12 11:51 编辑
进行winsock编程, 写服务端。
其中部分代码如下
while(TRUE)
{
cout<<"Hello World!\n";
// 接受一个新连接
sClient = accept(sListen, (SOCKADDR*)&remoteAddr, &nAddrLen);
//accept函数调用失败则继续等待连接。
if(sClient == INVALID_SOCKET)
{
cout<<"accept() error";
continue;
}
//打印出连接者的ip
printf(" 接受到一个连接:%s \r\n", inet_ntoa(remoteAddr.sin_addr));
//直到收到有效数据时才打印出来
int ret=recv(sClient,revData,255,0);
if(ret>0)
{
//为了防止打印出错,把字符串结尾设成0x00
revData[ret]=0x00;
printf(revData);
}
char *buff="\r\n Hello World!\r\n";
//发送数据
send(sClient,buff,strlen(buff),0);
// 关闭套接字句柄,结束会话
closesocket(sClient);
}
使用printf 的时候没有问题。客户端连接服务端后 服务端
会有反应
但是将其中的printf 改成 cout 的时候。运行客户端。 客户端运行正常。但是服务端就一直
是 就像是卡在了 while(true) 。。
本人菜鸟。。求助下、、 不太了解 这和cout 和 printf 是否有什么关系。。
|
|