连接到Web套接字

时间:2018-02-27 11:21:28

标签: c# websocket

我是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();
}

1 个答案:

答案 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),因为它可以为您提供有关错误原因的宝贵提示。

相关问题