社区
网络及通讯开发
帖子详情
请教一个socket的问题
drizzt007
2003-07-08 03:31:46
作为服务器的socket的listen方法有一个backlog参数,是用来指定放置等待处理的连接请求的队列长度。
我在编写程序的时候,希望socket只接受一个连接,但是如果把backlog设置成1的话,还是可以接受2个连接,好像是一个在使用中,另一个在等待队列中。
请问有没有办法,可以让服务器端socket只接受一个客户的连接请求?
...全文
38
8
打赏
收藏
请教一个socket的问题
作为服务器的socket的listen方法有一个backlog参数,是用来指定放置等待处理的连接请求的队列长度。 我在编写程序的时候,希望socket只接受一个连接,但是如果把backlog设置成1的话,还是可以接受2个连接,好像是一个在使用中,另一个在等待队列中。 请问有没有办法,可以让服务器端socket只接受一个客户的连接请求?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
8 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
pp616
2003-07-09
打赏
举报
回复
呵呵。不行吗。你再仔细查查代码。
asimpleman
2003-07-08
打赏
举报
回复
gz
drizzt007
2003-07-08
打赏
举报
回复
好像socket在listen的时候,如果有客户连接,并没有返回。如果队列满了,客户会收到一个错误。
listen(msock,1)==SOCKET_ERROR
这个SOCKET_ERROR是调用这个listen,创建等待队列的时候返回的
所以好像还是不可行
pp616
2003-07-08
打赏
举报
回复
if(listen(msock,1)==SOCKET_ERROR)
{
closesocket(msock);
return;
}
ssock=accept(msock,(struct sockaddr *)&fsin,&alen);
//accept函数返回的时候就是有客户连接或是监听停止了。
//这里你就可以做标记了。
drizzt007
2003-07-08
打赏
举报
回复
问题是新的连接来了的时候我并不知道,请问socket有这样的函数吗?就是新的连接请求到达时可以通知我。
pp616
2003-07-08
打赏
举报
回复
那你就做一个标志。只维护一个socket线程。
连接进来就判断标志。如果有了socket线程就关了对方。
如果没有就启动一个socket维护线程。
drizzt007
2003-07-08
打赏
举报
回复
谢谢,不过我得意思是,作为服务器的socket是不能关闭的,它必须一直存在并且监听客户的连接请求。有没有其他的办法?
pp616
2003-07-08
打赏
举报
回复
在accept函数返回后closesocket你listen的socket
这样不就只接受一个连接了吗。
C#串口转
Socket
带原码
VS2005串口转
Socket
通信带调试功能。通信帧按照电力规约进行封装。对上位机通信调试大有帮助.带源码。有
问题
随时
请教
:QQ 376033812 Email:xiaoligeng@126.com
聊天程序(局域网)
这个程序是由大富翁的宁柯发给我的,如果有
问题
请教
他。
雷の龙邮件列表
雷の龙邮件列表
如何自学-Python干货合集.docx
如何自学-Python干货合集.docx
JAVA网络(单机也可)聊天室加报告
随着大众化、小型化趋势的加剧,网络聊天在当今已经不算新鲜事物,聊天室可以更好的方便大家交流,
请教
或探讨
问题
,同时也能开阔视野。但大多数网络聊天都需要借助位于Internet的服务器,这就给那些具有大规模内部网络的用户造成了不便,出于安全等考虑,通常这些内部网络不能直接连接到Internet。我设计的聊天室,提供了类似于常见聊天室的功能,同时可以在局域网内部使用,只需稍加改进,便可以应用于架设企业内部的聊天室,方便员工之间的沟通。 本聊天室系统,主要利用DELPHI用于底层网络通信
Socket
组件,使用了多线程技术。
网络及通讯开发
1,317
社区成员
8,874
社区内容
发帖
与我相关
我的任务
网络及通讯开发
C++ Builder 网络及通讯开发
复制链接
扫一扫
分享
社区描述
C++ Builder 网络及通讯开发
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章