问题描述
我在 PYTHON 中创建了一个 websocket 服务器
import asyncio
import pathlib
import ssl
import websockets
async def hello(websocket,path):
name = await websocket.recv()
print(f"< {name}")
greeting = f"Hello {name}!"
await websocket.send(greeting)
print(f"> {greeting}")
ssl_context = ssl.SSLContext(ssl.PROTOCOL_TLS_SERVER)
localhost_pem = pathlib.Path(__file__).with_name("localhost.pem")
ssl_context.load_cert_chain(localhost_pem)
start_server = websockets.serve(
hello,"localhost",8765,ssl=ssl_context
)
asyncio.get_event_loop().run_until_complete(start_server)
asyncio.get_event_loop().run_forever()
这是客户
import asyncio
import pathlib
import ssl
import websockets
ssl_context = ssl.SSLContext(ssl.PROTOCOL_TLS_CLIENT)
localhost_pem = pathlib.Path(__file__).with_name("localhost.pem")
ssl_context.load_verify_locations(localhost_pem)
async def hello():
uri = "wss://psXXXXXX.dreamhostps.com:8765"
async with websockets.connect(
uri,ssl=ssl_context
) as websocket:
name = input("What's your name? ")
await websocket.send(name)
print(f"> {name}")
greeting = await websocket.recv()
print(f"< {greeting}")
asyncio.get_event_loop().run_until_complete(hello())
我通过运行服务器 python 文件在我的主机提供商中启动 python 服务器,完全没有问题 但是当我尝试运行我的 python 客户端时,SERVER 拒绝连接。一切似乎都是正确的,但我不太确定如何在 Dreamhost 中为我的 VPS 服务器设置这个 localhost.pem。
任何关于如何做到这一点的指导方针将不胜感激。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)