我正在尝试在此地址连接到 websocket api:wss://ws.cex.io/ws/
如果我使用 javascript 代码和 WebSocket 对象,一切都很好。
如果我使用 C# 代码,使用 ClientWebSocket 类,当我尝试连接时,我得到“无法访问远程服务器”错误。与我在 js 代码中使用的相同 url 完全相同。我尝试将 url 放入浏览器并得到相同的无法到达服务器错误,所以我很确定我应该在我的 c# 代码中使用一个标题或类似的东西。谁能告诉我我的 c# 代码中缺少什么?谢谢
js代码(建立连接):
var ws_path = 'wss://ws.cex.io/ws';
socket = new WebSocket(ws_path);
c#代码(找不到服务器)
WebSocketWrapper CexSocket = new WebSocketWrapper("wss://ws.cex.io/ws");
CexSocket.Connect();
public WebSocketWrapper(string uri)
{
_ws = new ClientWebSocket();
_ws.Options.KeepAliveInterval = TimeSpan.FromSeconds(20);
_uri = new Uri(uri);
_cancellationToken = _cancellationTokenSource.Token;
}
public WebSocketWrapper Connect()
{
ConnectAsync();
return this;
}
public WebSocketWrapper OnConnect(Action<WebSocketWrapper> onConnect)
{
_onConnected = onConnect;
return this;
}
private async void ConnectAsync()
{
await _ws.ConnectAsync(_uri, _cancellationToken); // here i get the error
CallOnConnected();
StartListen();
}