使用websockets连接两个设备

时间:2018-05-18 09:12:04

标签: c# unity3d websocket websocket-sharp

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

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

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

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

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

2 个答案:

答案 0 :(得分:0)

检查绑定。

WebSocketServer(System.Net.IPAddress.Any,port);

测试您是否可以建立到ip:port的连接。

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

答案 1 :(得分:0)

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