我用TCP方式建立一个socket服务端程序,部分代码如下:
listen(sock, 2);
accept(...);
就是说服务端允许两个客户端连接,调用accept函数是线程被阻塞,等待客户端连接,假如有客户端A和B,
问题:
如果A先连接,accept函数会立即返回吗?
然后如果B也连接,是否要重新调用一次accept函数?谢谢指教!
listen(sock, 2);
accept(...);
就是说服务端允许两个客户端连接,调用accept函数是线程被阻塞,等待客户端连接,假如有客户端A和B,
问题:
如果A先连接,accept函数会立即返回吗?
然后如果B也连接,是否要重新调用一次accept函数?谢谢指教!
解决方案 »
- 请问VC中如何编程显示ppm格式的文件?
- [win32]我用CreateWindow创建了一格空白窗口,又使用createWindow在窗口上创建了一个按钮,但是我怎么知道这个按钮被按下?
- 我的窗口上放了一个Picture控件(和窗口同大小)和一个按钮控件。Picture控件上一播放动态GIF,按钮控件就看不到了,那位有办法解决这个问
- 有C++基础,现在开始学VC,每天学16个小时,最快多常时间能熟练用VC编制程序?
- 100分求救:关于按钮的按下和弹起
- 如何建一个运行起来就是属性单的程序?谢谢。。。。。。
- 对多线程的困惑
- 如何把一个UNICODE文本文件读到char buff[1024]这个类型为CHAR的BUFF中,不能使用WCHAR,因为这个在网页中不支持!
- 如何播放音频?
- 各位高手,DELPHI与VC之间字符串如何通过DLL传递
- 没有很好的理解线程,关于线程池的理解想请教大家.
- 用GetUserName()时不能正确显示出用户名,用GetLastError()返回122
<windows网络编程> 第8章 I/O模型
2、看你的程序了,在你的程序中是否会再次调用accept是由您的程序来决定的。
等系统处理完第一个连接以后,第二个连接也会被接受,这时系统又能缓冲一个连接了.如果两个连接都处理完了,系统会恢复到刚才的状态.(可以接受一个连接,缓冲一个,拒绝其他的)
所以最大连接数和listen没有任何联系,listen限制单位时间的同时连接数量.