ONUDPREAD读取方法(Indy10)

在项目中遇到客户端使用Indy9接收聊天消息导致系统资源占用过高,于是转向Indy10。Indy10的UDPRead方法与Indy9的UDPServer方法在数据返回类型上有显著变化。本文通过示例代码详细解释如何在Indy10中接收和处理Record类型的数据,包括发送和接收过程。
摘要由CSDN通过智能技术生成
近日,由于项目的需要,在项目中有一个聊天功能,原来用的是indy9,但是在执行程序的时候,客户端由于接收消息过于占用系统频率,选成"死机"现象严重。故不得不改用indy10.
 
在新的Indy10控件中,与Indy9发生了很大的变化。下面就UdpServer的接收方法以例程的方法简单的说明一下;
 
Indy9:
UDPServer(Sender:TObject;AData:Thread;Abinding:tidsocketHandle);
 
indy10:
UDPRead(Sender: TObject; AData: TBytes;ABinding: TIdSocketHandle);
 
在读取数据的时候,返回的数据类型发生了变化。本人在网上查找到了很多的资料。都没得详细的解决办法。只是接收String的数据有一些方法提供。今天我发送了一条记录形式的数据接收成功;特此记下以便日后以供参考;
 
注意:可以在两个工程中分别放值一个tidudpserver控件,亦或在一个工程中放置两个tidudpserver控件亦可。
 
example:
 
Type
  TComm = Record
     msgType: integer;
     Context: String[254];
  end;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值