0

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

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

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

所以我继续前进,我试图连接我的两台电脑。这个想法是在 linux 上运行服务器并在 mac 上执行客户端,所以我用“localhost”代替了客户端和服务器代码上的 linux IP。当我执行它时,Unity(客户端)一直说我“不是本地 IP 地址”并且它没有连接。

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

4

2 回答 2

0

检查绑定。

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

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

iptables -L 用于列出 Linux 中配置的规则。

于 2018-05-18T09:33:25.320 回答
0

最后我解决了。这是服务器代码的问题,我不知道错误在哪里。我没有使用我的 c# 服务器,而是使用了 Node.js,它运行良好。我可以毫无问题地从其他计算机连接。

于 2018-05-25T12:11:24.960 回答