【发布时间】:2021-09-15 22:02:00
【问题描述】:
我正在尝试制作一个套接字服务器,我想使用 SSL。
我有一个与 asyncio (包括 ssl 位)配合得很好的版本,但我想只用 socket 模块重建它。
我的目标是我需要我的网站能够与这个后端服务器来回发送二进制数据。数据量为 3.6KB,感觉你们不需要这些信息,但我想我会包含它。
我对 python 和套接字非常陌生,所以其中大部分是复制意大利面,感谢 ELI5(最多 14 个)!
感谢阅读!
当我转到浏览器并运行 javascript 时会发生以下错误
websocket = new WebSocket("wss://smolroom.com:8001/");
服务器:
def webServerListener():
print("webServerListener()")
ssl_context = ssl.SSLContext(ssl.PROTOCOL_TLS_CLIENT)
ssl_cert = "/path/to/cert/this/is/filler"
ssl_key = "/path/to/cert/this/is/filler"
ssl_context.load_cert_chain(ssl_cert, keyfile=ssl_key)
with socket.socket(socket.AF_INET, socket.SOCK_STREAM, 0) as sock:
sock.bind(('', 8001))
sock.listen(5)
print("socket server listening")
while True:
(clientConnection, clientAddress) = sock.accept()
with ssl_context.wrap_socket(clientConnection, server_side=True) as ssock:
try:
dealWithClient(ssock)
finally:
ssock.shutdown(socket.SHUT_RDWR)
ssock.close()
错误:
webServerListener()
Exception in thread web-server-listener-thread:
Traceback (most recent call last):
File "/usr/lib/python3.8/threading.py", line 932, in _bootstrap_inner
self.run()
File "./server-test.py", line 24, in run
webServerListener()
File "./server-test.py", line 86, in webServerListener
with ssl_context.wrap_socket(clientConnection, server_side=True) as ssock:
File "/usr/lib/python3.8/ssl.py", line 500, in wrap_socket
return self.sslsocket_class._create(
File "/usr/lib/python3.8/ssl.py", line 997, in _create
raise ValueError("check_hostname requires server_hostname")
ValueError: check_hostname requires server_hostname
【问题讨论】:
标签: python python-3.x sockets websocket valueerror