社区
Linux/Unix社区
帖子详情
关于connect的问题
beanders
2006-07-25 10:06:16
我的服务器端是 单线程模式,既一次只处理一个socket连接
可是为什么当服务器已经有一个连接时, 其它程序再 connect 服务器,仍然返回 0, 而我的服务器如果很久没有处理这些队列中的连接,那么这些客户程序将会异常中止,请问客户端该如何处理? 有没有办法让 connect在确认连接上服务器的时候再返回0
谢谢
...全文
220
9
打赏
收藏
关于connect的问题
我的服务器端是 单线程模式,既一次只处理一个socket连接 可是为什么当服务器已经有一个连接时, 其它程序再 connect 服务器,仍然返回 0, 而我的服务器如果很久没有处理这些队列中的连接,那么这些客户程序将会异常中止,请问客户端该如何处理? 有没有办法让 connect在确认连接上服务器的时候再返回0 谢谢
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
9 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
beanders
2006-07-25
打赏
举报
回复
to xfzhao_cn()
我listen的时候backlog 设置的是1啊...
xfzhao_cn
2006-07-25
打赏
举报
回复
既然你的服务器就只能处理一个connection, 那应该listen 函数的第二个参数应该为1, 这样如果有其他client 要connect, 就会出错了
beanders
2006-07-25
打赏
举报
回复
谢谢,散啦!!
sunj_study
2006-07-25
打赏
举报
回复
在你的子函数处理完毕后,再打开刚才的监听socket,应该能满足你的要求了。
beanders
2006-07-25
打赏
举报
回复
to sunj_study()
谢谢,我用您的方法解决问题了,请问有没有其它方法啊,总觉得这种关闭监听SOCKET的方法不保险,呵呵
谢谢
没有俺就散分了
sunj_study
2006-07-25
打赏
举报
回复
accpet是不可能被调用的
==========
虽然accept没被调用,但第二个要连接服务器的客户连接请求还是会进入未决队列的,如果此时再有第三个客户连接请求到来,第三个客户端就会失败。这就是backlog=1的作用。虽然你没去处理第二个连接,但第二个客户端的connect函数还是会执行成功,返回0的。所以建议你获取第一个连接后,将监听socket关闭。这样其他客户端就不会连接成功了。
beanders
2006-07-25
打赏
举报
回复
to fengfangfang()
不太清楚您的意思,请明示
to sunj_study()
我的服务器端就是一个简单的for循环, 阻塞在accept函数里,当有连接到来accept返回,就进入另一个子函数与这个连接有关的通讯了,直到这个函数返回,accpet是不可能被调用的。
sunj_study
2006-07-25
打赏
举报
回复
backlog 是未决连接数,不是连到服务器的客户端数量。
可以定义一个标识,服务器接受连接时,验证是否已存在连接
或者服务器接收到第一个连接后,关掉监听socket。
fengfangfang
2006-07-25
打赏
举报
回复
用个变量控制一下
关于C#Socket的
Connect
连接失败后等待时间过长
问题
关于C#Socket的
Connect
连接失败后等待时间过长
问题
问题
根结解决
问题
问题
根结 在客户端沟通服务器时,未连接上服务器时,代码会卡在socket.
Connect
( ); 这一行中。大约会卡住20到30秒,甚至更多。 解决
问题
好像是...
关于
connect
: network is unreachable
问题
的解决
发现有网友问有关ping命令出现
connect
: network is unreachable 的
问题
。 这通常是因为没正确设置ip地址。 解决方法: 在确保完善网卡驱动,以及确保将网卡驱动编译进内核后,检查 ls /etc/sysconfig/...
Ubuntu下Easy
Connect
兼容性
问题
解决方案
Ubuntu 20.04下Easy
Connect
兼容性
问题
临时解决方案 Ubuntu 18.04 系统解决Easy
Connect
登录后闪退
问题
easy
connect
下载: https://sslvpn.zjweu.edu.cn/com/installClient.html 流程: 首先是解决
关于Easy
connect
初始化服务器连接失败
关于Easy
connect
初始化服务连接失败 因为要用校园网挂vpn,最近又用上了easy
connect
,从文件里找到easy
connect
打开,结果傻眼了,以前一直能正常使用的这次初始化半天说连不上服务器。 查了一下资料了解到应该是软件...
关于easy
connect
连接后不能访问网页的
问题
打开easy
connect
-》右击连接状态-》看是否分配 虚拟IP地址,如果显示未分配 此电脑-》右击属性-》设备管理器-》找到ssl vpn打开启用-》退出重新登录,就会显示虚拟ip地址的分配,就ok
Linux/Unix社区
23,128
社区成员
74,510
社区内容
发帖
与我相关
我的任务
Linux/Unix社区
Linux/Unix社区 应用程序开发区
复制链接
扫一扫
分享
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章