【发布时间】:2021-06-23 12:38:31
【问题描述】:
我有 rust TCP 服务器代码:
fn main() {
let mut server: TcpListener = TcpListener::bind("0.0.0.0:8080")
.expect("[SERVER]: Failed to bind");
let mut handler: Handler = Handler::new();
loop {
let mut Client = server.accept().unwrap();
//Handler basically tests if client has send a message and prints that message out
//the problem is, the client "Connects" server-side, but the websocket client say's it is "connecting"
handler.newClient(Client.0);
}
}
我有连接到服务器的 websocket 客户端代码(从浏览器):
let ws = new WebSocket("ws://0.0.0.0:8080");
ws.onopen = function(event) {
ws.send("Hello, world!");
}
任何时候客户端连接服务器都会为其创建一个新线程并记录“客户端已连接”并记录客户端发送的任何内容。 当我执行客户端脚本时,服务器按预期打印出“客户端已连接”。但它永远不会收到客户端应该发送的“Hello, world!”。我怀疑它是因为你必须制作一个实际的 websocket 服务器。有没有办法将 websocket 连接到非 websocket/socket.io 服务器?或者至少使用不同的方式在浏览器中使用 js 连接到非 socket.io/websocket 服务器?谢谢!
【问题讨论】:
标签: javascript websocket rust tcp