请问在一个端口同时连接多个客户端的服务器是怎么写的?

169 2002-08-26 10:25:20
请问在一个端口同时连接多个客户端的服务器是怎么写的?
(不是连接后分配一个新端口)

觉得很神奇,服务器是如何区分各个端口的呢?

有没有sample?谢谢大家
...全文
128 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
169 2002-08-27
  • 打赏
  • 举报
回复
给个具体的例子吧
chairou 2002-08-27
  • 打赏
  • 举报
回复
我FT。。。伪代码都出来了还要怎么个具体啊。
nirvana_hg 2002-08-27
  • 打赏
  • 举报
回复
端口本身有一个主进程,也叫监视进程,专门负责监听客户端的连接请求。当有一个新的客户端要求连接时,主进程将处理这个连接,接受的话。分配给该连接一个SOCKETID,用于辨识这个连接。同时启动自身的一个子线程,该线程负责这个连接的通信。主线程本身并不参与操作过程。多客户连接时,由多线程并发连接,每个线程的方法是完全相同的。不过是由主线程进行thread对象的重复创建。
chairou 2002-08-26
  • 打赏
  • 举报
回复
UNIX网络编程

简单的实现(伪代码)
listen(listenfd,ListenQ);
while(1)
{
connfd = accept(listenfd ....);
if(pid = fork()==0 )
{
close(listenfd);
doit(connfd);
close(connfd);
}
exit(0);

}
close(connfd);
s390 2002-08-26
  • 打赏
  • 举报
回复
就是说,不管它是怎么实现的,你只需用一个端口去accept,一会儿就有client端会上钩了,然后在你的子进程里用accept到的端口去recv, send就行了
169 2002-08-26
  • 打赏
  • 举报
回复
能不能具体一点,我不大明白

4,358

社区成员

发帖
与我相关
我的任务
社区描述
通信技术相关讨论
社区管理员
  • 网络通信
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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