以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  关于tcp/ip端口接收信息问题  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=108142)

--  作者:tcmhl
--  发布时间:2017/10/17 11:31:00
--  关于tcp/ip端口接收信息问题
 目前电脑通过网线连接设备,设备ip是192.168.1.35 端口是2000,会不停往电脑发送字符串,请问如何接收,感谢!

--  作者:有点甜
--  发布时间:2017/10/17 12:05:00
--  

参考

 

http://www.foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=100826&skin=0

 


--  作者:tcmhl
--  发布时间:2017/10/17 13:02:00
--  

感谢感谢!要研究研究

 

问下收到的都是乱码咋整啊


图片点击可在新窗口打开查看此主题相关图片如下:无标题.png
图片点击可在新窗口打开查看

--  作者:有点甜
--  发布时间:2017/10/17 13:22:00
--  

全局代码那里,看你发送的是什么编码,还有可能是 ascii

 

Dim str As String = Encoding.Default.GetString(packet)

 

改成

 

Dim str As String = Encoding.UTF8.GetString(packet)


--  作者:tcmhl
--  发布时间:2017/10/17 13:52:00
--  
是16进制数

--  作者:有点甜
--  发布时间:2017/10/17 14:54:00
--  

你发送过来的内容是什么?要转换成什么?修改全局代码这段得到

 

    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


--  作者:tcmhl
--  发布时间:2017/10/18 12:25:00
--  


图片点击可在新窗口打开查看此主题相关图片如下:123.png
图片点击可在新窗口打开查看

 

网络发来的类似与这样的数据


--  作者:有点甜
--  发布时间:2017/10/18 14:48:00
--  

你发送的过来的中文还是什么?你直接用测试工具接收到的数据是什么?

 

如果发送的是英文或者标点符号,不可能乱码。

 

如果发送中文,请询问清楚对中文的编码是什么。


--  作者:tcmhl
--  发布时间:2017/10/18 14:55:00
--  
 收到的是字节数组,就是上图划红色
--  作者:有点甜
--  发布时间:2017/10/18 15:49:00
--  

 

[此贴子已经被作者于2017/10/18 15:51:03编辑过]