renren 发表于 2008-8-1 10:04:57

UDP协议不能接受显示完整的中文?

UDP协议不能接受显示完整的中文? 看下面的简单例子`,最近才开始研究下这个 ,要是字母或字符 就可以完整接受到,中文的话,显示几个字而已?难道期间还需要进行转换是吗?哪个改下? 就是中文在传输过程中,还需要做什么处理呢`?
例子客户端
UDPStartup()

; Bind to a SOCKET
;==============================================
$socket = UDPBind(@IPAddress1, 65532)
If @error <> 0 Then Exit

While 1
    $data = UDPRecv($socket, 5000)
    If $data <> "" Then
      MsgBox(0, "接受到的信息", $data)
    EndIf
    sleep(100)
WEnd

Func OnAutoItExit()
    UDPCloseSocket($socket)
    UDPShutdown()
EndFunc

例子服务端

UDPStartup()

; Open a "SOCKET"
;==============================================
$socket = UDPOpen(@IPAddress1, 65532)
If @error <> 0 Then Exit

While 1
    Sleep(2000)
   
    $status = UDPSend($socket, "这个是虾米呀,为什么不能显示完整的中文呢?")
    If $status = 0 then
      MsgBox(0, "错误", "错误发送消息代码为: " & @error)
      Exit
    EndIf
WEnd

Func OnAutoItExit()
    UDPCloseSocket($socket)
    UDPShutdown()
EndFunc

[ 本帖最后由 renren 于 2008-8-2 22:17 编辑 ]

sanhen 发表于 2008-8-2 18:29:50

将中文转换一下即可。

renren 发表于 2008-8-2 22:15:56

呵呵``已经解决了`汗``不是转换                加个

#AutoIt3Wrapper_UseAnsi=y    就好了使用Ansi 编码

remme 发表于 2009-12-18 15:05:18

#AutoIt3Wrapper_UseAnsi=y

不好用。

发现UDPSend有字符截断。

sonny 发表于 2010-1-17 10:45:27

发送出去的2进制数据是没有问题的。接收到的就只有一半了。 还有在中文中间夹着E文的话后面就是乱码。 ~ 被这问题困扰几天了呢 ~~

jiuyaofan 发表于 2010-1-21 03:34:16

路过,友情帮顶!

我积攒了一笔金钱,不知道是投资移民好,还是出国留学好。投资移民美国要办理美国签证,而去美国留学、留学澳洲还是留学新加坡,我不知道留学美国、澳洲还是新加坡。我们是靠卖过滤机发家致富的,每个公司物流设备都需要不锈钢管制作成的发电机组来制作,而发电机最好好用的是过滤机构成的发电机组。

adi 发表于 2010-4-3 22:26:26

困惑。。。。。。。
页: [1]
查看完整版本: UDP协议不能接受显示完整的中文?