用nmudp控件接收数据(字符串)时,字符串被"0"截断,请问高手如何解决?

wangdajunxx wangdajunxx 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
我用一个NMUDP控件接受服务器端发送来的报文,报文格式如下: 144 3 5 1 2 4 6 0 0 1 3 8 9 9 4 3
都是数字,但是到"6"的时候字符就被截断了,并且NumberBytes显示只是收到了7个字节,我按ReadBuffer的方法接收还是如此,DELPHI 中的字符串是以"#0"来结束的,但是报文全接收过来以后再处理也可以,但是NMUDP控件压根就没有完全接受过来,在它那里就给我截断了,这可怎么办呀,UDP协议的控件大家还有更好的吗?请各位高手帮忙解决呀!

procedure TFmain.NMUDP1DataReceived(Sender: TComponent;
NumberBytes: Integer; FromIP: String; Port: Integer);
var
Mystream: TMemoryStream;
tmpstr: ansistring;
begin
Mystream:=TMemoryStream.Create;
try
nmudp1.ReadStream(Mystream);
Setlength(tmpstr,NumberBytes);
MyStream.Read(Tmpstr[1],NumberBytes);
Memo1.Lines.Add('IP地址为:'+fromip+
' 字节个数为:'+inttostr(NumberBytes)+
' 详细内容为:'+TmpStr);
finally
MyStream.Free;
end;
end;
...全文

相关推荐

基于Delphi的TNMUDP组件实现远程控制.txt

基于Delphi的TNMUDP组件实现远程控制.txt 介绍了tnmudp控件开发细节

yanying43

68_用Delphi编写局域网中的TCP聊天程序参考.pdf

68_用Delphi编写局域网中的TCP聊天程序参考.pdf

hwx18537729388

linux进阶之pacemaker+corosync实现haproxy高可用

一、环境介绍 1. 系统环境 rhel6.5 selinux and iptables if disable server1: 172.25.14.1 pacemaker + haproxy node1 server4: 172.25.14.4 pacemaker + haproxy node2 server2: 172.25.14.2 web1 server3:172....

MYS_Sunshine

Haproxy + pacemaker 实现高可用负载均衡

1.Haproxy 一、HAProxy简介 (1)HAProxy 是一款提供高可用性、负载均衡以及基于TCP(第四层)和HTTP(第七层)应用的代理软件,支持虚拟主机,它是免费、快速并且可靠的一种解决方案。 HAProxy特别适用于那些负载特大的web站点,这些站点通常又需要会话保持或七层处理。HAProxy运行在时下的硬件上,完全可以支持数以万计的 并发连接。并且它的运行模式使得它可以很简单安...

小熙同学-

haproxy+pacemaker+corosync实现高可用

pacemaker+corosync Pacemaker是一个集群资源管理器。它利用集群基础构件(OpenAIS 、heartbeat或corosync)提供的消息和成员管理能力来探测并从节点或资源级别的故障中恢复,以实现群集服务(亦称资源)的最大可用性。 Corosync是集群管理套件的一部分,通常会与其他资源管理器一起组合使用它在传递信息的时候可以通过一个简单的配置文件来定义信息传递的方式和协...

qq657886445
评论 17
收藏 已收藏
分享
返回顶部