Click here to Skip to main content
15,891,993 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
See more: , +
VB
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()
Posted

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900