服务器端一个端口可以响应很多客户端的请求吗?

wflyfox 2003-09-02 04:41:24
要做一个c/s程序,服务器该开多少个端口(客户端的数量不确定有多少)
1个端口能处理多少个客户端的请求。
兄弟分不多了,大哥多多帮忙!
...全文
345 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
werdcd 2003-09-03
  • 打赏
  • 举报
回复
如果是数据报连接的,那么就不能用侦听了!这个连接主要是一个比较固定时间序列来完成客户应用程序和服务器应用程序之间的通信!!
首先应该绑定!利用bind()!接着是双方通过sendto,recvfrom函数 来通信!!
wflyfox 2003-09-02
  • 打赏
  • 举报
回复
好像只能是(SOCK_STREAM)类的SOCKET才能进行侦听操作
PowerOffHong 2003-09-02
  • 打赏
  • 举报
回复
同意!
wflyfox 2003-09-02
  • 打赏
  • 举报
回复
我要创建稳定的数据报连接(SOCK_DGRAM)就不能侦听了。
该怎么办?
孤必有邻 2003-09-02
  • 打赏
  • 举报
回复
原理应该是这样:
服务端至少要有一个SOCKET处于监听状态(Listen),负责监听针对某个端口(Port)的连接请求;
当客户端的请求到达时,动态创建(new)一个SOCKET用于连接,此时,用于监听的SOCKET再次进入监听状态(调用Listen),此后,由参与连接的SOCKET完成与客户端的通信过程。
通常,创建几百个连接是可以,但不会同时启动上百个线程同时处理所有的请求;如果同时请求的客户端比较多(比如>50),则通常启动固定数目(低于请求)的线程,请求排队等待处理。
线程的数目参考处理的速度,如果是瞬间完成的,则可以少,如果处理较慢,则可以多。
Reve 2003-09-02
  • 打赏
  • 举报
回复
不是client连接一个,server接受(Accept)一个,此时server就已经另外开了一个端口了吗?
wuxuan 2003-09-02
  • 打赏
  • 举报
回复
关键看你的请求的端口要求提供多少的数据发送速率,如果终端不多,并且不处理太多的网络数据,就可以使用一个端口。

18,356

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 网络编程
c++c语言开发语言 技术论坛(原bbs)
社区管理员
  • 网络编程
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧