Tcp连接端口占用问题
一、同一端口建立多个连接
一个套接字不能连接两次,并不代表一个本地地址不能用两次
>>> import socket
>>> s = socket.socket()
# since Linux 3.9, 见 man 7 socket
>>> s.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEPORT, 1)
>>> s2 = socket.socket()
>>> s2.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEPORT, 1)
>>> s.bind(('127.0.0.1', 12345))
>>> s2.bind(('127.0.0.1', 12345))
# 都可以使用同一本地地址来连接哦
>>> s.connect(('127.0.0.1', 80))
>>> s2.connect(('127.0.0.1', 4321))
接着我们查看端口的实用情况
>>> netstat -npt | grep 12345
(Not all processes could be identified, non-owned process infowill not be shown, you would have to be root to see it all.)
tcp 0 0 127.0.0.1:4321 127.0.0.1:12345 ESTABLISHED 18284/python3
tcp 0 0 127.0.0.1:12345 127.0.0.1:4321 ESTABLISHED 4568/python3
tcp 0 0 127.0.0.1:80 127.0.0.1:12345 ESTABLISHED -
tcp 0 0 127.0.0.1:12345 127.0.0.1:80 ESTABLISHED 4568/python3
分析:
tcp建立连接是通过套接字建立的,而套接字对应四元组,只要有一个不同,就是不同的套接字,也就允许在同一服务器上存在,但是套接字建立后就不能再连接另外的,比如上面的我们不能用s套接字再去连接除80另外的ip或者端口.
区别服务器上的监听端口,服务器上监听端口只能被一个应用程序建立,另一个应用程序建立监听这个端口时就会显示端口占用,你想,如果两个应用程序都可以监听同一个端口,那么请求过来了走哪个应用程序呢?
Tcp连接端口占用问题相关推荐
- Linux网络协议栈:Linux 中每个 TCP 连接最少占用多少内存?
Linux 中每个 TCP 连接最少占用多少内存? https://zhuanlan.zhihu.com/p/25241630 因为原文作者明确说明,不可转载,这里我只给出链接,仅供参考.
- [转]linux下TCP连接占用的资源
维持一个tcp连接需要占用哪些资源,下面就总结一下最近学习的内容,不足之处,请读者多多指正. 一个tcp连接需要:1,socket文件描述符:2,IP地址:3,端口:4,内存 TCP连接的四元组:源I ...
- 【计算机网络】服务端和客户端最大支持多少tcp连接?如何分析?
文章目录 (一)引用文章 (二)简单分析: 1.基本概念:TCP四元组 2.多个客户端连接一个服务端最大支持最大多少tcp连接? 3.一个客户端连接一个服务端最大支持多少个tcp连接? (二)全面分析 ...
- 漫画 | 理解了TCP连接的实现以后,客户端的并发也爆发了!
echo "5000 65000" > /proc/sys/net/ipv4/ip_local_port_range 连接1:192.168.1.101 5000 192.1 ...
- tcp连接 本地端口_Windows开启端口转发功能
前言 端口转发,这个功能在平时的开发中用到的还是比较多的,记录下 Windows 如何使用自带的软件实现端口转发. 命令介绍 Windows 从 Windows 2000 开始就提供了最基本的端口转发 ...
- 百万 Go TCP 连接的思考: epoll方式减少资源占用
强烈推荐: 鸟窝 https://colobu.com/ 百万 Go TCP 连接的思考: epoll方式减少资源占用 前几天 Eran Yanay 在 Gophercon Israel 分享了一个讲 ...
- SQL Server 默认和命名实例连接问题-TCP/IP 端口
TCP/IP的基本工作原理这里就不浪费口水了.现在这网络年代,谁不知道TCP/IP啊.不要跟我抬杠说你偏就没听说过TCP/IP阿,真是这样那你得自己去补补课了. TCP/IP协议有两个基本的东西,一个 ...
- TCP/UDP端口连接测试
TCP/UDP端口连接测试 TCP端口连接测试 测试主机与目标端口的网络是否通畅 telnet ip port UDP端口连接测试 1.测试目标端口是否正常(前提是目标主机上启动了服务端口,且本机与服 ...
- 【计算机网络】2、TCP:四次挥手与TIME_WAIT、shutdown() 优雅关闭 server、探活、拥塞窗口与 Nagle 算法、端口占用、tcp 的流式协议、可靠性
文章目录 六.四次挥手 与 TIME_WAIT 6.1 TIME_WAIT 的作用 6.2 TIME_WAIT 的危害和方案 七.server 用 shutdown() 优雅关闭 7.1 close( ...
最新文章
- 开机后将sim/uim卡上的联系人写入数据库
- UVA-10047 The Monocycle (图的BFS遍历)
- bartlett方差齐性检验_基于R实现统计中的检验方法方差分析
- OpenGL Multi-Indirect Draw小行星的实例
- gcc undefined reference to 问题解决方法(使用库)
- JVM和JMM的区别
- java复习系列[4] - Java IO
- java类加载体系,Java类加载体系
- 【辨异】limit, limitation
- php多线程实现抓取,php使用pthreads v3多线程实现抓取新浪新闻信息操作示例
- vue移动端app项目
- SpringSecurity实战(七)-对接第三方登陆-流程分析
- 电视机顶盒CM311-1A-YST基于openwrt搭建pptpipsec服务器
- ASP.NET MVC --- 身份认证与授权
- GitHub开源了一款程序员摸鱼神器!上班摸鱼还不会被老板发现。。。
- python手写数字识别实验报告_Python代码实现简单的MNIST手写数字识别(适合初学者看)...
- iphone导出视频 无法连接到设备_iPhone 使用技巧:及时关注手机储存容量
- 程序员考公指南:逃离996的最强出路,拒绝秃顶的最佳方法
- vscode 自定义主题样式
- H.324M 3G-324M
热门文章
- 个人简历管理系统(9)- 添加简历
- php删除数组指定的元素,php删除数组中指定值的元素的几种方法
- Eclipse 中重新定位SVN服务器地址
- 银行BI应用如何实现数据分析提效500%?观远数据携手招商银行构建金融数字化运营新布局
- Java自定义数据脱敏注解
- python中psutil库用法详解
- 国产芯片研发硅光芯片弯道超车,或比NVIDIA快10倍,美国挡不住了
- 电脑打开计算机显示远程过程调用失败,处置win7系统电脑弹出提示“远程过程调用失败且未执行”的还原步骤...
- 参加oschina成都MIT Talk得到的收获
- 简单分享怎么开发自己的微信小程序_微信小程序快速制作步骤