【发布时间】:2021-04-05 21:06:38
【问题描述】:
我不明白在什么时候以及以什么方式建立连接 ssl。 context.wrap_socket(sock, server_side=True) 和 ssock.accept 在 connection_made 或 loop.start_tls...
import socket
import ssl
import asyncio
class MyProtocol(asyncio.DatagramProtocol):
def connection_made(self, transport):
pass
def datagram_received(self, data, client_address):
pass
if __name__ == '__main__':
loop = asyncio.get_event_loop()
address = ('', 11111)
ssl_context = ssl.create_default_context()
ssl_context.load_cert_chain(certfile='iotivitycloud.crt', keyfile='iotivitycloud.key')
sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM, socket.IPPROTO_UDP)
sock.bind(address)
transport, protocol = loop.run_until_complete(
loop.create_datagram_endpoint(
lambda: MyProtocol(), sock=sock))
loop.run_forever()
【问题讨论】:
标签: python ssl python-asyncio datagram