我使用Node.js
创建了一个HTTPS
Web服务器,并使用WebSocket
创建了一个套接字服务器。
两台服务器使用相同的443
端口。
对于Web客户端,我能够通过下面的代码正常连接到WebSocket服务器。
const ws = new WebSocket('wss://localhost/');
ws.onopen = () => {
console.info(`WebSocket server and client connection`);
ws.send('Data');
};
字符串
但是,如下所示的Unity
中的WebSocket客户端代码会导致错误。
using WebSocketSharp;
...
private WebSocket _ws;
void Start()
{
_ws = new WebSocket("wss://localhost/");
_ws.Connect();
_ws.OnMessage += (sender, e) =>
{
Debug.Log($"Received {e.Data} from server");
Debug.Log($"Sender: {((WebSocket)sender).Url}");
};
}
void Update()
{
if(_ws == null)
{
return;
}
if(Input.GetKeyDown(KeyCode.Space))
{
_ws.Send("Hello");
}
}
型
InvalidOperationException:连接的当前状态不是“打开”。
Unity客户端是否无法通过插入Self-Signed Certificate (SSC)
来配置HTTPS
进行连接?
如果更改为HTTP
并将端口号设置为80
,则确认Unity客户端也正常连接。
如果是SSL
问题,如何修复代码以启用通信?
2条答案
按热度按时间iklwldmw1#
我找到了解决上述问题的方法。
下面的代码执行从
Unity client
连接到Web服务器内部的WebSocket
服务器的过程。client.cs
字符串
pqwbnv8z2#
是不是有必要把一些证书在客户端。我以为SSL需要这样做?