使用 websockets 连接两个设备

Connect two devices with websockets

我是 websockets 的新手,如果我的问题的答案太明显,请原谅。

我正在使用 websocket-sharp,因为我的目标是构建一个连接到服务器的 Unity3D 客户端。 (其实我是想做webGL平台的,所以client会写成javascript)。目前,客户端和服务器都是用 C# 编写的。

在本地主机上编译时,它可以完美地工作,也可以与多个客户端一起使用,也可以通过使用自签名证书的安全连接。如果客户端连接到回显服务器 (ws://echo.websocket.org),它也能正常工作。

所以我继续前进,尝试连接我的两台计算机。我的想法是在 linux 上 运行 服务器并在 mac 上执行客户端,所以我用 "localhost" 代替客户端和服务器上的 linux IP代码。当我执行它时,Unity(客户端)一直说我 "Not a local IP address" 并且它没有连接。

我认为这可能是防火墙问题,首先我应该打开使用的端口...是这样吗?如果是这样,我如何在 mac 和 linux 上打开具体端口?

检查绑定。

WebSocketServer(System.Net.IPAddress.Any, 端口);

测试是否可以连接到 ip:port。

iptables -L 用于列出 Linux.

中配置的规则

终于解决了。是服务器代码的问题,我不知道错误在哪里。我没有使用我的 c# 服务器,而是使用了 Node.js,它工作正常。我可以毫无问题地从其他计算机连接。