如何收听1200台设备

时间:2013-04-10 11:30:00

标签: delphi

我正在使用Delphi 我有一个设备。 设备有以太网卡。我给设备的IP地址和端口(服务器IP地址)。 设备每秒都会使用tcp / ip向服务器发送数据。

我必须从服务器侦听设备。我有1200个设备 从一台服务器收听1200设备的最佳方式是什么? (多线程或其他方式)

2 个答案:

答案 0 :(得分:3)

此处需要事件驱动的服务器。

忘掉Indy,并使用事件驱动(又称I / O完成)IP服务器。

Windows限制大约是2000个32位线程,因为每个线程保留2 MB的堆栈空间AFAIR。像Indy这样的服务器每个连接都会使用一个线程,因此只会浪费很多资源。

按照设计,I/O completion允许平衡所有传入的请求到一个小线程池。请参阅Is there a I/O completion port based component for Delphi?Scalable Delphi TCP server implementation

答案 1 :(得分:2)

查看ICS这是一个互联网库,它允许您管理来自单个线程的许多连接。非常适合您的目的。