udp通信问题

ma007 2010-10-19 05:38:20
各位,我用NMUDP写了个UDP通信的程序,但是我发现在传送UTF-8字符时会乱码
代码如下
发送方:
var
tmp:string;
c:array[0..10230] of char;
i:integer;
begin
tmp:='测试';
tmp:= UTF8Encode (tmp);
NMUDP1.RemoteHost:='192.168.3.222';
NMUDP1.RemotePort:=12581;
i:= length(tmp);
NMUDP1.SendBuffer(tmp[1],i);
end

接收方:
var
c:array[0..10230] of char;
s:string;
begin
NMUDP1.ReadBuffer(c,NumberBytes);
s:=c;
s:= UTF8Decode (s);
showmessage(s);
end;
...全文
106 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
oliverwind2008 2010-10-25
  • 打赏
  • 举报
回复
delphi 2007 好工具。我决定他来做我的硕士论文
HAIHytera 2010-10-21
  • 打赏
  • 举报
回复
你收包的方式换下看看行不 RevDataSize :=AData.Read(UdpRevBuff,sizeof(UdpRevBuff));
for i := 1 to RevDataSize do
s := s + char(UdpRevBuff[i-1]);
SQLDebug_Fan 2010-10-19
  • 打赏
  • 举报
回复
c这个数组需要初始化,用ZeroMemory、FillChar都可以。

1,593

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 网络通信/分布式开发
社区管理员
  • 网络通信/分布式开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧