
tcp/ip客户端临时端口
发布日期:2021-05-08 04:53:33
浏览次数:16
分类:精选文章
本文共 713 字,大约阅读时间需要 2 分钟。
当我们在一台服务器上写了一个服务程序,比如一个http服务,监听端口是4000,服务器的IP地址是172.16.0.1,这时,其他客户端程序可以通过由地址172.16.0.1和端口4000组成的socket来发起请求。这时客户端向服务端发起请求是明确知道IP和端口的,可是服务端是如何相应多个客户端的呢。
服务端可以从请求体的头部拿到请求端的IP和port,然后根据不同客户端的IP和port去相应。可以通过netstat或者lsof命令来查看服务程序的监听端口对多个客户端请求的返回:
netstat -anp | grep 4000
tcp 0 0 172.16.0.1:4000 172.27.247.112:51214 TIME_WAIT - tcp 0 0 172.16.0.1:4000 172.28.39.118:35831 TIME_WAIT - tcp 0 0 172.16.0.1:4000 172.18.38.7:37281 TIME_WAIT -
上面输出的第三第四列分别是本地地址:服务监听端口 和 客户端地址:端口
客户端在发起请求的时候,也就是说与服务端172.16.0.1:4000组成的socket建立连接的时候,随机选择了一个端口号,然后用这个随机端口号和客户端地址组成请求体的头部,写入服务器端socket
下面是一个简化的数据流图:
发表评论
最新留言
能坚持,总会有不一样的收获!
[***.219.124.196]2025年03月22日 17时18分01秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
DBA 技能图谱1.0
2021-05-08
深入学习C++
2021-05-08
【HTTP】HTTP状态码图解
2021-05-08
《图解TCP/IP》学习——第六章TCP与UDP
2021-05-08
双系统基础上装三系统教程
2021-05-08
Android低级错误踩坑之Application
2021-05-08
android自定义无边框无标题的DialogFragment替代dialog
2021-05-08
获取android的所有挂载路径(转)
2021-05-08
记录一下写的一个java生成不带重复数的随机数组(算法没有详细设计,只实现功能)
2021-05-08
androidstudio同步的时候下载jcenter的库出错解决办法
2021-05-08
ButterKnife使用问题
2021-05-08
React学习笔记(一)
2021-05-08
低代码平台快速开发小程序
2021-05-08
vue学习笔记
2021-05-08
低代码后续发展路线图
2021-05-08
MobX 学习 - 04 TodoList 案例
2021-05-08
MobX 学习 - 06 异步任务、rootStore、数据监测
2021-05-08
react: antd 中 table 排序问题
2021-05-08
FPGA学习网站推荐
2021-05-08