所以这是js中的客户端
<!DOCTYPE html>
<html>
<head>
<title>WebSocket demo</title>
</head>
<body>
<script>
var ws = new WebSocket("ws://trillion.ddns.net:5678/"),
messages = document.createElement('ul');
ws.onmessage = function (event) {
var messages = document.getElementsByTagName('ul')[0],
message = document.createElement('li'),
content = document.createTextNode(event.data);
message.appendChild(content);
messages.appendChild(message);
};
document.body.appendChild(messages);
</script>
</body>
</html>
这是一个连接并接收后的简单代码,但是即使当我使用公共ip时它可以与本地ip一起使用,也无法使用
这是服务端
import asyncio
import datetime
import random
import websockets
async def time(websocket, path):
while True:
now = datetime.datetime.utcnow().isoformat() + "Z"
await websocket.send(now)
await asyncio.sleep(random.random() * 3)
start_server = websockets.serve(time, "", 5678)
asyncio.get_event_loop().run_until_complete(start_server)
asyncio.get_event_loop().run_forever()
start_server = websockets.serve(time, "", 5678)
告诉它只能在127.0.0.1上使用(或localhost ...),这对于远程访问将不起作用
而不是使用0.0.0.0
绑定到所有可用接口
start_server = websockets.serve(time, "0.0.0.0", 5678)