社区
网络编程
帖子详情
★★★着急,socket服务端怎样响应多个客户端的连接?★★★
Summer1314
2004-09-10 03:50:36
我用TCP方式建立一个socket服务端程序,部分代码如下:
listen(sock, 2);
accept(...);
就是说服务端允许两个客户端连接,调用accept函数是线程被阻塞,等待客户端连接,假如有客户端A和B,
问题:
如果A先连接,accept函数会立即返回吗?
然后如果B也连接,是否要重新调用一次accept函数?
谢谢指教!
...全文
317
10
打赏
收藏
★★★着急,socket服务端怎样响应多个客户端的连接?★★★
我用TCP方式建立一个socket服务端程序,部分代码如下: listen(sock, 2); accept(...); 就是说服务端允许两个客户端连接,调用accept函数是线程被阻塞,等待客户端连接,假如有客户端A和B, 问题: 如果A先连接,accept函数会立即返回吗? 然后如果B也连接,是否要重新调用一次accept函数? 谢谢指教!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
10 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
DentistryDoctor
2004-09-11
打赏
举报
回复
=>
listen(s,SOMAXCONN);
DentistryDoctor
2004-09-11
打赏
举报
回复
accept始终是阻塞的。如果有多个客户连接,WINSOCK会自动为你建立一个队列等待连接,队列的长度由你的listen函数的第二个参数指定。好像这个值最大是5.
Micro_Sheng
2004-09-11
打赏
举报
回复
如果要频繁的响应客户的连接与断开,请用IOCP模型
sharkhuang
2004-09-11
打赏
举报
回复
同意 Hellboy(int argc, char* argv[]) .你的确把2理解错了.
oyljerry
2004-09-11
打赏
举报
回复
用select模型,这样你的accept就不需要多次调用了
hellopine
2004-09-11
打赏
举报
回复
用异步消息处理模型:
WSAAsyncSelect(m_clientSocket,this->m_hWnd,WM_RECEIVE,FD_ACCEPT);
TCP UDP 都可以使用,我试过了!
Hellboy
2004-09-10
打赏
举报
回复
listen(sock, 2);的意思理解错了!
listen(sock,2)的意思是,如果在同一时间有3个客户端connect
其中的一个会被accept,另外一个被系统自动排队,最后一个将被拒绝.
等系统处理完第一个连接以后,第二个连接也会被接受,这时系统又能缓冲一个连接了.
如果两个连接都处理完了,系统会恢复到刚才的状态.(可以接受一个连接,缓冲一个,拒绝其他的)
所以最大连接数和listen没有任何联系,listen限制单位时间的同时连接数量.
kvls
2004-09-10
打赏
举报
回复
1、会返回,只要有连接请求即可。
2、看你的程序了,在你的程序中是否会再次调用accept是由您的程序来决定的。
Kudeet
2004-09-10
打赏
举报
回复
accept(.......)这个函数也是阻塞函数,只有客户端连接上来了才会返回,不然整个程序都停留在accept出现的地方阻塞着,一直等着有客户端连接上来accept返回后才继续执行下去
<windows网络编程> 第8章 I/O模型
Kudeet
2004-09-10
打赏
举报
回复
用SELECT模型可以吧!
征服Node.js 7.x视频课程(10):
Socket
通信
Socket
服务端
和
客户端
的建立,HTTP服务器的模拟,UDP
服务端
和
客户端
的建立。
python网络编程:通过
socket
实现TCP
客户端
和
服务端
本文将介绍如何通过python自带的
socket
库实现TCP
客户端
和
服务端
,实现
多个
客户端
与一个
服务端
的消息收发(基本聊天室功能),这是网络编程的基础。
Android
Socket
聊天工具(一个
服务端
实现
多个
客户端
间通信)
程序开源,共同学习。最近在学Android,做了一个由
Socket
实现的基于TCP协议的聊天工具,用一个
服务端
支持
多个
客户端
之间的交流 通信。虽然本人之前做过蓝牙控制小车的软件,但这次做起来也花了不少时间。没办法,谁叫本人还是只菜鸟,所以下面有哪些说得不当的地方,还请各位多多包涵哦!! 如果某位朋友也打算做这个
Socket
聊天工具,本人有个小小的建议,你可以不必太
着急
些代码,先想清楚自己最终
java网络编程(二)复用
Socket
连接
以及使用多线程完成
多个
客户端
的
连接
java网络编程(二)复用
Socket
连接
以及使用多线程完成
多个
客户端
的
连接
白嫖党最爱!java
socket
服务端
向
客户端
发消息
一、公务员都不要35岁以上的,何况大公司 这让很多人感到惶恐,现在职场上有一种现象:很多用人单位会在招聘信息上明确标注,年龄需在35岁以下。为什么有经验、有人脉的职场中年人会如此遭“嫌弃”呢? 首先,思想落后。日新月异的时代需要不断进步的人,而不是守着自己那点老经验的“职场前辈”。 的确,现在很多职场人无论年龄多大,一直追随着时代的脚步,坚持做一个“老顽童”。 但又有多少人,放弃了对新时代的探索,固守自己的老思想,成为一个名副其实的老油条。 再次,家庭牵绊。人到中年,基本都有爱人和孩子,工作成为你生活中的一
网络编程
18,356
社区成员
64,214
社区内容
发帖
与我相关
我的任务
网络编程
VC/MFC 网络编程
复制链接
扫一扫
分享
社区描述
VC/MFC 网络编程
c++
c语言
开发语言
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章