python - 是否可以同时绑定两个套接字端口并在 localhost 之间设置旁路连接
问题描述
我有一个客户端-服务器套接字程序正在运行,但具有不同的 TCP 端口。我正在使用 python 脚本来监听来自客户端的数据,例如 socket#5254,然后将数据发送到 socket#5255 的服务器。稍后,将使用 over socket 数据并将其发送到 SMBus 上的设备使用试验机中的工具。首先是使用 Data-over-Socket 连接测试桥接模式。Scipt 如下所示。问题:如何在主机中同时绑定两个端口(使用Windows 10 PC)?
import socket, time
TIMEOUT = 60*1000 # timeout 1 minutes 60*1000 ms'
req = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
req.bind(('localhost', 5254))
req.listen()
req_conn, req_addr = req.accept()
with req_conn:
print('Connected by', req_addr)
res = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
res.bind(('localhost', 5255))
res.listen()
res_conn, res_addr = res.accept()
with res_conn:
print('Connected by', res_addr)
while True:
t = 0
req_data = req_conn.recv(1024)
req_conn.sendall(res_data)
res_data = res_conn.recv(1024)
res_conn.sendall(req_data)
time.sleep(0.001) # delay 0.001 second
if t >= TIMEOUT: break
req.close()
res.close()
当我使用两个端口 5253/5254 分别运行客户端和服务器程序时,脚本在第一次连接后停止。绑定两个套接字端口并在 Python 中设置它们之间的旁路桥连接的正确方法是什么(使用 Python 3.6)?
解决方案
推荐阅读
- python - 如何将列表的一部分写入csv?
- kotlin - 如何从 Observable java rx 1.2 和 kotlin 中提取、工作和返回信息
- reactjs - 如何知道 reactstrap 表单的输入/表单字段的状态?
- apache-spark-mllib - 如何在 spark mlib 中设置 ALS 推荐器的起点?
- r - R删除重复并聚合多列中的总和
- java - RETURNING 子句在 pgAdmin 中有效,但为我的 Java 代码返回 -1
- odoo - 采购订单电子邮件链接已损坏 odoo
- java - 监听按键事件会阻止按键工作
- vue.js - Vuetify 基本模板溢出
- ios - 读取 IOS 相机的镜头位置时,我得到了这个荒谬的值