如何在服务器端发送和接收Websocket消息?它回收像+ Helooaa不工作Proporly如何解决它。 [英] How Can I Send And Receive Websocket Messages On The Server Side? It Recived Back Like +Helooaa Not Work Proporly How Can I Fix It.

查看:125
本文介绍了如何在服务器端发送和接收Websocket消息?它回收像+ Helooaa不工作Proporly如何解决它。的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

Dim rawData = System.Text.Encoding.UTF8.GetBytes("hello")
                Dim frameCount = 0
                Dim frame(10) As Byte
                frame(0) = CByte(129)

                If rawData.Length <= 125 Then
                    frame(1) = CByte(rawData.Length + 1)
                    frameCount = 2
                ElseIf rawData.Length >= 126 AndAlso rawData.Length <= 65535 Then
                    frame(1) = CByte(126)
                    Dim len = CByte(rawData.Length)
                    frame(2) = CByte(((len >> 8) & CByte(255)))
                    frame(3) = CByte((len & CByte(255)))
                    frameCount = 4
                Else
                    frame(1) = CByte(127)
                    Dim len = CByte(rawData.Length)
                    frame(2) = CByte(((len >> 56) & CByte(255)))
                    frame(3) = CByte(((len >> 48) & CByte(255)))
                    frame(4) = CByte(((len >> 40) & CByte(255)))
                    frame(5) = CByte(((len >> 32) & CByte(255)))
                    frame(6) = CByte(((len >> 24) & CByte(255)))
                    frame(7) = CByte(((len >> 16) & CByte(255)))
                    frame(8) = CByte(((len >> 8) & CByte(255)))
                    frame(9) = CByte((len & CByte(255)))
                    frameCount = 10
                End If
                Dim bLength = frameCount + rawData.Length
                'Console.WriteLine(frameCount)
                'Console.WriteLine(rawData.Length)
                Dim reply(bLength) As Byte

                Dim bLim = 0
                For i = 0 To frameCount - 1
                    'Console.WriteLine(bLim)
                    reply(bLim) = frame(i)
                    bLim += 1
                Next

                For i = 0 To rawData.Length - 1
                    'Console.WriteLine(bLim)
                    reply(bLim) = rawData(i)
                    bLim += 1
                Next
                For i = 0 To reply.Length - 1
                    'Console.WriteLine("Byte: " & reply(i))
                    'Console.WriteLine("Char: " & CByte(reply(i)))
                Next

                Dim asd As String = Encoding.UTF8.GetString(reply)
                Console.WriteLine(asd)
                pv_streamwriter.WriteLine(asd)
                pv_streamwriter.Flush()

推荐答案

这篇关于如何在服务器端发送和接收Websocket消息?它回收像+ Helooaa不工作Proporly如何解决它。的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

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