如何在服务器端发送和接收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.
本文介绍了如何在服务器端发送和接收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屋!
查看全文