关于SOCKET的测试问题(100分)

  • 主题发起人 主题发起人 didi413
  • 开始时间 开始时间
D

didi413

Unregistered / Unconfirmed
GUEST, unregistred user!
现我编好了服务器端的软件,与下位机通讯,在服务器端对每个下位机均建立一个SOCKET与
之通讯,每个下位机均有自己固定IP。我想请教两个问题:
1。如何在PC机上模拟下位机与软件通讯,也就是要建立SOCKET(要开600个SOCKET,因为实际
有 600个下位机)。如何建立这600个SOCKET?
2。按我这种对每个下位机均建立一个SOCKET的方式,最多可以连接多少SOCKET?
 
1。自己写程序去通讯也可以啊,开几个线程就OK了
2。系统有一个默认最大的套接字数量(和内存有关系),多了就要崩溃,
 
TO;张无忌
主要是模拟的下位机都要有自己的IP,如何建立这些SOCKET?能给出一些实际代码或思路?
谢谢!
 
你先不限制连接用户的IP连接,就限制用户名,不过这样测试只能测试一般状况下的问题,
如果想真正测试好,还是多台机器一起测试比较好。。。。。。。
 
我主要是想了解如何建立这些有IP地址SOCKET?谢谢!
 
那没有办法,当然最好是在真实环境用测试,在同一台机器上测试只能检测一些简单的
错误,复杂的问题是很难发现的,最好是在真实的环境中测试。。。。。。
 
我做过中间件传输模块,多客户同时向服务器申请和发送数据,其中使用了SOCKET 通信,
服务器端若放置一个TSERVERSOCKET组件,提供与多客户进行数据传输时会存在一些问题.
可以在服务器端建立多线程机制,也可动态建立多个TSERVERSOCKET 一一与客户端的TCLIENTSOCKET
对就.但这种方法在服务器端的SOCKET数量是有限制的,你的系统下位机有600 多台使用后种方法
显然是不明智的.

如果你的系统中服务器与下位机通信数据是一些信息不是重要数据(金额等) 可使用UDP协议
处理.
 
我服务器端程序并不是用TServerSocket控件,而是建立一个会话类,每个建立的会话共用TClientSocket的OnRead过程,
服务器端每隔几分钟检测是否有新的下位机上线,若有新上线的下位机则建立一个新的会话。
我想在电脑上模拟最多可以连接多少台下位机。我现在实际联上10台下位机是没有问题的。
 
后退
顶部