如何获取Sec-WebSocket-Key for WebSocket连接请求? [英] How to get the Sec-WebSocket-Key for WebSocket connection request?

查看:2684
本文介绍了如何获取Sec-WebSocket-Key for WebSocket连接请求?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述


我是WebSocket的新手。但我需要创建一个  WebSocket连接。我需要发送一个请求标头S ec-WebSocket-Key。
我在google上搜索了这个。但我很困惑。


从哪里计算出来?或者我应该从哪里得到它?



谢谢。

解决方案

你好PM16 ,


感谢您发布此处。


根据您的描述,您希望获得用于WebSocket连接的Sec-WebSocket-Key。 / p>

我制作一个简单的代码,你可以看看。


客户代码:

 static void Main(string [] args)
{
using(var ws = new WebSocket(" ws:// localhost:9998 / service"))
{
ws.OnMessage + =(发送者,e)=>
Console.WriteLine(" Laputa说:" + e.Data);

ws.Connect();
Console.ReadKey(true);
}
}

我在这里使用了WebScoket


最好的问候,


杰克


Hi,

I am new to WebSocket. But i am in need to create a  WebSocket connection. I need to send a request header Sec-WebSocket-Key. I searched over google about this. but i got confused.

where to calculate this from ? or where should i get it from ?

Thanks.

解决方案

Hi PM16,

Thank you for posting here.

Based on your description, you want to get the Sec-WebSocket-Key for WebSocket connection.

I make a simple code, you could have a look.

Client Code:

static void Main(string[] args)
        {
            using (var ws = new WebSocket("ws://localhost:9998/service"))
            {
                ws.OnMessage += (sender, e) =>
                  Console.WriteLine("Laputa says: " + e.Data);

                ws.Connect();
                Console.ReadKey(true);
            }
        }

I used WebScoket from this link.

Server code:

 static void Main(string[] args)
        {
            TcpListener server = new TcpListener(IPAddress.Parse("127.0.0.1"), 9998);
            server.Start();
            var client = server.AcceptTcpClient();
            var stream = client.GetStream();

            while (true)
            {
                var buffer = new byte[1024];
                // wait for data to be received
                var bytesRead = stream.Read(buffer, 0, buffer.Length);
                var r = System.Text.Encoding.UTF8.GetString(buffer);
                foreach (var item in r.Split('\n'))
                {
                    if(item.Contains("Sec-WebSocket-Key"))
                    {
                        Console.WriteLine(item);
                        string m = item.Split(':')[1].Trim();
                        Console.WriteLine(m);
                    }
                }
            }
        }

Result:


Best Regards,

Jack


这篇关于如何获取Sec-WebSocket-Key for WebSocket连接请求?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆