以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- [求助]socket客户端接收hex数据怎么实现? (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=147594) |
-- 作者:54292550 -- 发布时间:2020/3/20 9:21:00 -- [求助]socket客户端接收hex数据怎么实现? 之前找到了一个TCP的例子,不过是接收字符串的。 Public socket As MyClient Public Class MyClient Public receiveThread As System.Threading.Thread Public nStream As System.Net.Sockets.NetworkStream Public tcp As System.Net.Sockets.TcpClient Public Sub New(ByVal ip As String, ByVal port As Integer) Dim server As System.Net.IPAddress = System.Net.IPAddress.Parse(ip) tcp = New System.Net.Sockets.TcpClient() Try tcp.Connect(ip, port) Catch generatedExceptionName As Exception tcp = Nothing End Try If tcp Is Nothing Then MsgBox("无法连接服务器,请重试") Else Dim netStream As System.Net.Sockets.NetworkStream = tcp.GetStream() nStream = netStream receiveThread = New System.Threading.Thread(New System.Threading.ThreadStart(AddressOf ReceiveMsg)) receiveThread.IsBackground=True receiveThread.Start() msgbox("登录成功") End If End Sub Private Sub ReceiveMsg() While True Dim packet As Byte() = New Byte(1024) {} nStream.Read(packet, 0, packet.Length) Dim str As String = Encoding.Default.GetString(packet) Dim txt = forms("窗口1").Controls("TextBox2") txt.Text &= iif(txt.text > "", vbcrlf, "") & str End While End Sub End Class |
-- 作者:有点蓝 -- 发布时间:2020/3/20 10:05:00 -- packet 就是结果,如果不是字符串,去掉下面代码即可 Dim str As String = Encoding.Default.GetString(packet) Dim txt = forms("窗口1").Controls("TextBox2") txt.Text &= iif(txt.text > "", vbcrlf, "") & str |