node.js - 每当传统Server接受一个新的连接的时候,都要新建一个进程来维护这个连接,那么这个进程需要使用新的端口么?
PHPz
PHPz 2017-04-17 14:44:48
[Node.js讨论组]

如题,网上貌似没有搜到太多的答案,讲道理不是一个进程被一个端口号识别么,服务器的ip和端口也应该是固定的。

另外像node.js这种,每次新的连接过来的时候是一个event,怎么去识别哪一个event属于一个client?

PHPz
PHPz

学习是最好的投资!

全部回复(1)
ringa_lee

自 BSD Socket 之后,网络端口对于应用程序员而言就是文件,操作系统管理起来也很像文件,文件的操作权限是父子进程共享的,如果在fork()前就拥有了那个 socket 的话,那fork()后的子进程也就可以使用相同端口。
新的连接不存在你说的这个问题吧,应该是已有连接发送数据如何判断这个数据是哪个连接发来的吧,这个底层是由 IP 协议实现的,操作系统据此也可以反推出来的数据包来自于那个连接,nodejs 特殊的地方在于采用了异步的方式,而这个是由比如 epoll 这样的操作系统提供的操作来实现的,操作系统会告诉 nodejs 新来的数据是来自哪个连接的,然后 nodejs 再做处理。

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号