为了账号安全,请及时绑定邮箱和手机立即绑定

asyncio - 使用特定接口打开连接

asyncio - 使用特定接口打开连接

蛊毒传说 2023-06-27 16:27:13
我正在尝试移动一些代码以使用 asyncio (出于各种原因)。在我现有的代码中,我创建了一个套接字,将其bind()连接到特定接口,以确保在该接口上建立 TCP 连接:_TCP_Socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)_TCP_Socket.bind(('169.254.6.1', 13000)) # All data sent from this IP, Port (i.e using the interface that has this IP)_TCP_Socket.connect(('169.254.10.123, 13000))上面的方法有效,但是我如何在 asyncio 中实现相同的效果?即如何选择发送接口?没有asyncio.open_connection()这样bind()的。那么,我要给它传递一个套接字吗?即像以前一样创建一个套接字,该套接字绑定到我想要发送的接口,然后调用open_connection?reader, writer = await asyncio.open_connection('169.254.10.123', 13000, sock=_TCP_Socket) # Use _TCP_Socket created earlier?
查看完整描述

1 回答

?
蝴蝶刀刀

TA贡献1801条经验 获得超8个赞

文档说有asyncio.open_connection命名参数,其描述可以在create_connectionlocal_addr描述中找到:

如果给定,则是(local_host, local_port)用于将套接字绑定到本地的元组。

因为open_connection是一个包装器create_connection并且文档包含以下句子:

其余参数直接传递给loop.create_connection()。


查看完整回答
反对 回复 2023-06-27
  • 1 回答
  • 0 关注
  • 126 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信