18,356
社区成员
发帖
与我相关
我的任务
分享
while(1)
{
CString temp;
ZeroMemory(buf,1024);
num = recv(param->socket,buf,1024,0);//num = recv(ss,buf,4096,0);
if(num>0)
{
//信息转发
send(sc,buf,num,0);
}
else
{
continue;
}
}
这样就可以了,不明白你为什么还搞那么复杂?
另外,建议你搞一个线程专门负责 recv,收到的数据放到你的缓冲链表中,另一个线程专门负责从链表中取出数据send,为什么需要这样,因为你recv和send肯定是不同的链路,你不能保证每次都send顺利(比如通讯断开了),send就会超时,此时你就会影响recv,效率当然低