我正在尝试使用pysctp
套接字实现基于SCTP和异步IO的客户端。理想情况下,我想做如下工作:
async def sctp_client():
sock = sctp.sctpsocket_udp(socket.AF_INET)
reader, writer = await asyncio.open_connection(sock=sock)
writer.write(b'some data', ppid=5)
await writer.drain()
data = await reader.read(100)
print(f'Received: {data.decode()}')
writer.close()
await writer.wait_closed()
实际上,有两个问题:
open_connection
或loop.create_connection
?
我希望流包含的传输对象使用sctp_recv
而不是recv
,使用sctp_send
而不是send
。显然,最简单的方法是从最初的transport类派生,但我找不到一个好的python方法李>open_connection
获取自定义的StreamWriter
?显然,我可以从原始文件创建自己的open_connection
,向原始文件添加一个方法,或者只访问内部传输,但这些选项非常难看。我能想到的第二个最好的方法就是使用loop.create_connection
实现我自己的open_connection
李>非常感谢
看看source code,没有办法为
asyncio.open_connection
提供工厂。也就是说,那里的代码并不十分复杂。请注意文档字符串的最后一行:这正是我建议你做的
相关问题 更多 >
编程相关推荐