一、同一端口建立多个连接

一个套接字不能连接两次,并不代表一个本地地址不能用两次

>>> 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连接端口占用问题相关推荐

  1. Linux网络协议栈:Linux 中每个 TCP 连接最少占用多少内存?

    Linux 中每个 TCP 连接最少占用多少内存? https://zhuanlan.zhihu.com/p/25241630 因为原文作者明确说明,不可转载,这里我只给出链接,仅供参考.

  2. [转]linux下TCP连接占用的资源

    维持一个tcp连接需要占用哪些资源,下面就总结一下最近学习的内容,不足之处,请读者多多指正. 一个tcp连接需要:1,socket文件描述符:2,IP地址:3,端口:4,内存 TCP连接的四元组:源I ...

  3. 【计算机网络】服务端和客户端最大支持多少tcp连接?如何分析?

    文章目录 (一)引用文章 (二)简单分析: 1.基本概念:TCP四元组 2.多个客户端连接一个服务端最大支持最大多少tcp连接? 3.一个客户端连接一个服务端最大支持多少个tcp连接? (二)全面分析 ...

  4. 漫画 | 理解了TCP连接的实现以后,客户端的并发也爆发了!

    echo "5000 65000" > /proc/sys/net/ipv4/ip_local_port_range 连接1:192.168.1.101 5000 192.1 ...

  5. tcp连接 本地端口_Windows开启端口转发功能

    前言 端口转发,这个功能在平时的开发中用到的还是比较多的,记录下 Windows 如何使用自带的软件实现端口转发. 命令介绍 Windows 从 Windows 2000 开始就提供了最基本的端口转发 ...

  6. 百万 Go TCP 连接的思考: epoll方式减少资源占用

    强烈推荐: 鸟窝 https://colobu.com/ 百万 Go TCP 连接的思考: epoll方式减少资源占用 前几天 Eran Yanay 在 Gophercon Israel 分享了一个讲 ...

  7. SQL Server 默认和命名实例连接问题-TCP/IP 端口

    TCP/IP的基本工作原理这里就不浪费口水了.现在这网络年代,谁不知道TCP/IP啊.不要跟我抬杠说你偏就没听说过TCP/IP阿,真是这样那你得自己去补补课了. TCP/IP协议有两个基本的东西,一个 ...

  8. TCP/UDP端口连接测试

    TCP/UDP端口连接测试 TCP端口连接测试 测试主机与目标端口的网络是否通畅 telnet ip port UDP端口连接测试 1.测试目标端口是否正常(前提是目标主机上启动了服务端口,且本机与服 ...

  9. 【计算机网络】2、TCP:四次挥手与TIME_WAIT、shutdown() 优雅关闭 server、探活、拥塞窗口与 Nagle 算法、端口占用、tcp 的流式协议、可靠性

    文章目录 六.四次挥手 与 TIME_WAIT 6.1 TIME_WAIT 的作用 6.2 TIME_WAIT 的危害和方案 七.server 用 shutdown() 优雅关闭 7.1 close( ...

最新文章

  1. 开机后将sim/uim卡上的联系人写入数据库
  2. UVA-10047 The Monocycle (图的BFS遍历)
  3. bartlett方差齐性检验_基于R实现统计中的检验方法方差分析
  4. OpenGL Multi-Indirect Draw小行星的实例
  5. gcc undefined reference to 问题解决方法(使用库)
  6. JVM和JMM的区别
  7. java复习系列[4] - Java IO
  8. java类加载体系,Java类加载体系
  9. 【辨异】limit, limitation
  10. php多线程实现抓取,php使用pthreads v3多线程实现抓取新浪新闻信息操作示例
  11. vue移动端app项目
  12. SpringSecurity实战(七)-对接第三方登陆-流程分析
  13. 电视机顶盒CM311-1A-YST基于openwrt搭建pptpipsec服务器
  14. ASP.NET MVC --- 身份认证与授权
  15. GitHub开源了一款程序员摸鱼神器!上班摸鱼还不会被老板发现。。。
  16. python手写数字识别实验报告_Python代码实现简单的MNIST手写数字识别(适合初学者看)...
  17. iphone导出视频 无法连接到设备_iPhone 使用技巧:及时关注手机储存容量
  18. 程序员考公指南:逃离996的最强出路,拒绝秃顶的最佳方法
  19. vscode 自定义主题样式
  20. H.324M 3G-324M

热门文章

  1. 个人简历管理系统(9)- 添加简历
  2. php删除数组指定的元素,php删除数组中指定值的元素的几种方法
  3. Eclipse 中重新定位SVN服务器地址
  4. 银行BI应用如何实现数据分析提效500%?观远数据携手招商银行构建金融数字化运营新布局
  5. Java自定义数据脱敏注解
  6. python中psutil库用法详解
  7. 国产芯片研发硅光芯片弯道超车,或比NVIDIA快10倍,美国挡不住了
  8. 电脑打开计算机显示远程过程调用失败,处置win7系统电脑弹出提示“远程过程调用失败且未执行”的还原步骤...
  9. 参加oschina成都MIT Talk得到的收获
  10. 简单分享怎么开发自己的微信小程序_微信小程序快速制作步骤