CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
花落谁家,你作主! 盛大widget设计大赛英雄榜
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  专题开发/技术/项目 >  网络通信

Socket连接限制问题

楼主ljan(冰魂)2002-07-18 19:14:39 在 专题开发/技术/项目 / 网络通信 提问

服务器一台,多个客户机,要求服务器对连接数有限制,  
   
  如服务器最大连接数为3个,当第4个客户要求连接,服务器通知客户机,连接数已满,  
   
  类似FTP限制连接功能,请问如何用socket编程实现,就急,谢谢。 问题点数:50、回复次数:12Top

1 楼Silva_Zhao(Silva)回复于 2002-07-18 19:49:51 得分 10

服务器端肯定是可以知道当前有多少个客户连接了自己.如果是TCP连接,你可以根据服务器端有几个ACCEPT是成功的来判断连接数;如果是UDP,不需要连接,这时可以根据RECVFROM接收到的数据来自什么地址,来选择是接收这个地址的数据还是通知它连接已满.Top

2 楼ljan(冰魂)回复于 2002-07-18 21:42:31 得分 0

我是使用tcp连接的,是在服务器端可以知道当前存在多少连接,  
   
  然后如何操作呢?  
   
  是服务器先接受当前这个连接,然后发一个连接已满确认包,让客户端关闭连接吗?  
   
  还是其他操作呢?Top

3 楼xuying()回复于 2002-07-18 22:12:02 得分 0

accept之后,检查目前的连接数,如果已经满了,就close这个socket。Top

4 楼Silva_Zhao(Silva)回复于 2002-07-18 22:19:56 得分 0

同意UPTop

5 楼ljan(冰魂)回复于 2002-07-19 12:47:53 得分 0

然后在客户端用recv,返回为0,就告诉客户,连接已满,是不是?Top

6 楼Silva_Zhao(Silva)回复于 2002-07-19 13:08:08 得分 0

应该可以。你也可以先ACCEPT之后发送一个通知给客户机,然后再关闭连接呀。Top

7 楼Silva_Zhao(Silva)回复于 2002-07-19 13:15:23 得分 0

应该可以。你也可以ACCEPT之后让服务器发送一个通知给客户端,告诉它连接已满,然后再关闭这个连接。Top

8 楼hohoo(hohoo)回复于 2002-07-19 16:12:51 得分 0

listen(sdListen,3);  
   
  第二个参数指定在请求队列中允许的最大请求数。如果客户连接数超过这个最大值,客户将收到一个连接被拒绝的错误指示(10061   Connection   refused)。Top

9 楼ljan(冰魂)回复于 2002-07-19 21:16:00 得分 0

to   hohoo,看样子你对listen函数不了解,我原先也是以为那样实现的,  
  但不行的,  
   
  我都把backlog,设置为1,但要求连接,照样成功。  
   
  Top

10 楼ljan(冰魂)回复于 2002-07-19 21:17:30 得分 0

To   xuying,然后怎么办,是发确认包,还是照我那种recv返回0的方法,返回0的方法我已经实现,我想知道最好的方法...Top

11 楼xuying()回复于 2002-07-19 22:06:22 得分 40

你在一段调用closesocket()后,另一端会收到FD_CLOSE事件,也进行关闭操作就可以。Top

12 楼hohoo(hohoo)回复于 2002-07-22 13:51:30 得分 0

to   ljan   (冰魂)  
  sorry,我所回答是错误的,我错以为listen的第二个参数就是允许的最大客户连接数,而许多资料也是这么说的。  
  因为listen是个队列,正确的解释应该是同一时刻允许的最大连接请求数。  
                                                                      ~~~~Top

相关问题

  • socket最大连接限制后的问题
  • socket联接有没有最大连接数的限制?
  • 连接数限制
  • 求教简单问题——连接限制
  • 如果修改IIS的连接限制?
  • 如何限制tcp连接数量
  • 如何限制iis的单用户连接数而不限制总连接数啊?
  • socket接包有没有大小限制
  • 关于socket连接问题
  • 简单的socket连接

关键词

  • 连接
  • 服务器
  • 客户
  • 客户机
  • socket
  • 限制
  • 通知
  • 关闭
  • 操作
  • accept

得分解答快速导航

  • 帖主:ljan
  • Silva_Zhao
  • xuying

相关链接

  • CSDN Blog
  • 技术文档
  • 代码下载
  • 第二书店
  • 读书频道

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo