Foxtable(狐表)用户栏目专家坐堂 → 关于tcp/ip端口接收信息问题


  共有1943人关注过本帖树形打印复制链接

主题:关于tcp/ip端口接收信息问题

帅哥哟,离线,有人找我吗?
有点甜
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/10/17 12:05:00 [显示全部帖子]


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/10/17 13:22:00 [显示全部帖子]

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

 

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

 

改成

 

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


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By: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


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/10/18 14:48:00 [显示全部帖子]

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

 

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

 

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


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/10/18 15:49:00 [显示全部帖子]

 

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

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/10/18 16:17:00 [显示全部帖子]

你想直接显示值?

 

Private Sub ReceiveMsg()
While True
    Dim packet As Byte() = New Byte(1024) {}
    Dim n As Integer = nStream.Read(packet, 0, packet.Length)
    Dim str As String = ""
    For i As Integer = 0 To n-1
        str = str & packet(i) & " "
    Next

    Dim txt = forms("窗口1").Controls("TextBox2")
    txt.Text &= iif(txt.text > "", vbcrlf, "") & str
End While
End Sub

[此贴子已经被作者于2017/10/18 16:18:27编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/10/18 16:19:00 [显示全部帖子]

如果要转换成16进制,继续改

 

http://www.foxtable.com/webhelp/scr/1622.htm

 


 回到顶部