社区
网络通信/分布式开发
帖子详情
IdUDPClient 控件怎么接收数据的?
lxj_com2006
2007-01-29 02:33:28
IdUDPClient 控件怎么接收数据的?
...全文
760
5
打赏
收藏
IdUDPClient 控件怎么接收数据的?
IdUDPClient 控件怎么接收数据的?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
lxj_com2006
2007-01-29
打赏
举报
回复
IdUDPClient 如何接收到IdUDPServer返回的数据。
lxj_com2006
2007-01-29
打赏
举报
回复
procedure TForm1.Button1Click(Sender: TObject);
var
ReceivedString:String;
rStr : array[0..102400] of char;
ms:tmemorystream;
begin
IdUDPClient1.Host:=edtAddress.Text;
IdUDPClient1.Port:=9999;
IdUDPClient1.Active:=True;
IdUDPClient1.Send(edtContent.Text);
IdUDPClient1.ReceiveBuffer(rStr,102400);
meoReceive.Lines.Add(rStr);
end;
lxj_com2006
2007-01-29
打赏
举报
回复
//ͨ¹ýSend·½·¨À´½øÐй㲥
procedure TForm1.Button1Click(Sender: TObject);
var
ReceivedString:String;
rStr : array[0..102400] of char;
ms:tmemorystream;
begin
//IdUDPClient1.Send(edtAddress.Text, 9999, edtContent.Text);
//ReceivedString := IdUDPClient1.ReceiveString();
//meoReceive.Text:=ReceivedString;
IdUDPClient1.Host:=edtAddress.Text;
IdUDPClient1.Port:=9999;
IdUDPClient1.Active:=True;
IdUDPClient1.Send(edtContent.Text);
//IdUDPClient1.SendBuffer(edtContent.Text,Length(edtContent.Text));
IdUDPClient1.ReceiveBuffer(rStr,102400);//,'192.168.184.1',9999); //,'192.168.184.1',9999
//ReceivedString := IdUDPClient1.ReceiveString();
//IdUDPClient1.sendbuffer(ip,port,ms.memory^,ms.size);
meoReceive.Lines.Add(rStr);
end;
hongqi162
2007-01-29
打赏
举报
回复
procedure FIdUDPServerUDPRead(
Sender: TObject; AData: TIdBytes; ABinding: TIdSocketHandle);
var
lReceiveLen:integer;
lCurrentReceiveBuf:array of byte;
begin
lReceiveLen:=Length(AData) ;
setlength(lCurrentReceiveBuf, lReceiveLen );
Move(AData[0],lCurrentReceiveBuf[0],lReceiveLen);
...
处理数据
end;
hongqi162
2007-01-29
打赏
举报
回复
var
ms:tmemorystream;
begin
......
idudpc.sendbuffer(ip,port,ms.memory^,ms.size);
......
end;
UDP
协议通信演示Delphi源码
股票,证券等,用这个来发布行情数据,刷刷的。
UDP
通信的优势 速度比TCP快。
UDP
通信的缺点 一旦
UDP
包过大的话,也能正常工作。只是优势就丢失了。
id
Udp
Client
主要用于发送
udp
请求,在接收
udp
响应的时候是同步的,所以一定要设置超时,否则的话程序容易死。
id
UpdServer 即能用于发送
udp
数据包,也能用于接收
udp
数据包。但是设计的主要目的还是用于收到
udp
数据包之后给于反馈。
UDP
包的大小问题 资料1:以太网的MTU是1500字节,IP包头占20个字节,
UDP
首部占8个字节,也就是说实际数据应该小于1472字节. 资料2:鉴于Internet上的标准MTU值为576字节,所以我建议在进行Internet的
UDP
编程时.最好将
UDP
的数据长度
控件
在548字节(576-8-20)以内. 测试结果: 0-548字节:会完美的展现
UDP
协议的优势(速度刷刷的)。 大于1472字节以后的话,也可以正常执行。你会见识到什么叫做不可靠的信道(经过测试90%以上还是成功的,只是速度慢了很多)。 数据包大于2K速度明显变慢了;数据包大于3K,成功率60%到80%;数据包大于4k,成功率20%以下。 结论: 1.
UDP
协议还是比较可靠的。使用它能充分挖掘速度的潜力。通常大部分请求和相应都在548以下,小部分请求超过548。 2.548字节,可以存储274个汉字呢。比手机短信都长。你传什么那么大? 3.尤其是双方都在修改数据,需要实施数据实时同步的时候。修改量都比较小,用
udp
再合适不过了。 客户端的阻塞式响应不太理想 可以采用的办法是双方都开
UDP
服务器来接受。
Id
UDP
Server,
Id
UDP
Client
https://blog.csdn.net/anguangqing/article/details/5977818 DELPHI中有两个
UDP
控件
:T
Id
UDP
Server和T
Id
UDP
Client
控件
,可用于传输
UDP
数据;用法都很简单,主要是一些细微的特性,弄清楚了对正确使用这两种
控件
有很大的好处;下面分别介绍: 一、 T
Id
UDP
Server:代表一个
UDP
的服...
delphi简单的聊天室(
UDP
广播)
点对点的TCP通信 只能俩个人 用了
UDP
广播发送服务器的IP和端口号 然后客户端获取其IP和端口 unit kehu; interface uses System.SysUtils, System.Types, System.UITypes, System.Classes, System.Variants, FMX.Types, FMX.Controls, FMX.Forms, F
T
Id
UDP
Client
控件
中文指南
T
Id
UDP
Client
控件
用于实现一个
UDP
客户端 所属单元
ID
UDP
Client
本
控件
的通信标准是RFC 768,网址是:http://www.rfc-editor.org/rfc/rfc768.txt 本
控件
使用Send方法发送数据,远程主机由Host和Port属性指定。 属性 Host:String; 远程计算机名称。用来指定远程计算机系统。该名称可以是IP地址,如“129
T
Id
TCP
Client
详解
转发地址:http://blog.csdn.net/cowcga/article/details/6198382 关于T
Id
TCP
Client
的几种方法 收藏 其实Indy比较简单,但是可以提供的方法太多了。我找了很久,才搞明白。 比方说这个读取缓冲区的数据,就有很多种方法。相对于TTcp
Client
的几种方法来说,T
Id
TCP
Client
确实提供了多种选择,不仔细研究真的容易糊涂(其实
网络通信/分布式开发
1,593
社区成员
32,963
社区内容
发帖
与我相关
我的任务
网络通信/分布式开发
Delphi 网络通信/分布式开发
复制链接
扫一扫
分享
社区描述
Delphi 网络通信/分布式开发
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章