SOCKET同时接收客户端连接问题
程序和典型的网络都一样的调用
接收数据是单进程, 处理消息时把消息和接收时生成的socketid连同消息给线程处理,并在线程里回应客户端,之后在线程里把句柄关闭
客户端工具A,B, 有连接和发送消息按钮
1.首先点击A上面的连接按键,然后点击B上面的连接按键
2.然后点击A上面的发送消息按键, 然后点击B上面的连接按键
结果是A的消息可以正常收到,B的消息为空,(首先B是肯定发了的,因为是专门的TCP/IP工具嘛)
我尝试着把步骤2调下顺序,结果一样.
所以问下大侠们是什么问题
....
listen(Socket, 1) // 这里1有没有问题?我写成2也是一样的不行
while(true)
{
....
socketid = accept()
fd_set readfds;
readfds = socketid ;
select(...., socketid, NULL, NULL )
接收消息就不说了
把消息和接收时生成的socketid连同消息给线程处理
....
}
......
线程:
fun(socketid)
{
...
sendtoclient(socketid)
close(socketid) //这里会不会有关不掉的情况?
....
}
[解决办法]
学习了
[解决办法]
socketid = accept()
fd_set readfds;
readfds = socketid ;
select(...., socketid, NULL, NULL )
典型的select模型,select放accept之前的。lz怎么反的呢??