我是C#套接字的新手。 我正在尝试连接到Web Socket,但我既没有连接消息也没有错误消息,也没有异常。
连接网络套接字需要做什么?如何跟踪它是否尝试连接到套接字?
我的代码:
private WebSocket client;
const string host = "wss://stream.binance.com:9443";
private void button2_Click(object sender, EventArgs e)
{
client = new WebSocket(host);
client.OnOpen += (ss, ee) =>
MessageBox.Show("Concceted");
client.OnError += (SetStyle, ee) =>
MessageBox.Show("error");
client.Connect();
}
答案 0 :(得分:2)
我猜你使用WebSocketSharp
。以下控制台测试程序尝试从您的问题连接到同一个URL:
using System;
using WebSocketSharp;
namespace Example
{
public class Program
{
public static void Main(string[] args)
{
using (var ws = new WebSocket("wss://stream.binance.com:9443"))
{
ws.OnMessage += (sender, e) =>
Console.WriteLine("Message received" + e.Data);
ws.OnError += (sender, e) =>
Console.WriteLine("Error: " + e.Message);
ws.Connect();
Console.ReadKey(true);
}
}
}
}
当我运行它时,我得到以下控制台输出:
Fatal|WebSocket.doHandshake|Not a WebSocket handshake response.
根据binance websocket stream documentation您需要将您的网址更改为例如
wss://stream.binance.com:9443/ws/bnbbtc@ticker
我建议您尽可能打印错误消息的内容(在本例中为e.Message
),因为它可以为您提供有关错误原因的宝贵提示。