【发布时间】:2016-12-28 07:53:25
【问题描述】:
我需要从 WebSocket 收集数据。
如果我尝试使用此站点测试 websocket:http://www.websocket.org/echo.html 我可以毫无问题地连接和发送消息,但是当我尝试使用 .Net Framework 库连接到 websocket 时,我得到:
System.Net.WebException:内部服务器错误 (500)。
我用来连接的代码是这样的:
string uri = "wss://wss.xxx.xxx";
ClientWebSocket webSocket = null;
try
{
webSocket = new ClientWebSocket();
await webSocket.ConnectAsync(new Uri(uri), CancellationToken.None);
await Task.WhenAll(Receive(webSocket), Send(webSocket));
}
catch (Exception ex)
{
Console.WriteLine("Exception: {0}", ex);
}
如果我尝试连接到任何其他网络套接字,代码运行良好...
与其他websocket的不同之处在于地址以“wss”而不是“ws”开头(认为是因为安全连接)。
如果我使用 Chrome 之类的浏览器进行测试,websocket 连接可以工作,但不能在 .Net 中,我是否必须添加一些标头才能模拟浏览器代理?
感谢支持
【问题讨论】:
-
我已经用 ws://echo.websocket.org 尝试了你的代码,它工作正常。
-
嗨 Memmet,是的,它适用于 ws://echo.websocket.org 但不适用于我必须使用的 websocket。
-
嗨 Memmet,是的,它适用于 ws://echo.websocket.org,但不适用于我必须使用的 websocket。如果你检查我的答案,现在我可以连接了,我只需要添加一些标题,握手就可以了......
标签: c# websocket wss clientwebsocket