C/S模式的数据传输方案的问题(100分)

  • 主题发起人 主题发起人 labixiaoxin
  • 开始时间 开始时间
L

labixiaoxin

Unregistered / Unconfirmed
GUEST, unregistred user!
我的问题是:有一个工控项目,即一台PC作为服务器,它连接有工控的数据采集器,每几秒钟刷新一次数据区(总数据量约5K)。另外有10台左右的客户机,它们需要得到与服务器同步的那片数据。
我有两个方案:
一个是建立一个内存中的临时表(有的也叫内存表),作为数据库来处理,服务器采到数据后直接修改表中数据,客户机在需要时通过数据库操作方法从服务器的这个内存表中取数据。我不直接用数据库是因为我的数据更新很快,怕如此频繁写硬盘会出问题。
二是用SOCKET,即服务器每次刷新数据区后便把数据打包,以广播方式发送出去,客户机也用SOCKET接收。
两者我都担心有网络流量大的问题,不知各位对此有何看法,实际的工控方案中还有哪些好的方案呢?
 
我认为第二种好,及时符合你的同步要求。这点流量网络应该没问题。
-------
我也是路过学习。提提个人意见






 
当然是用socket啦,对于5k的数据,不到一秒就处理完了。并且实时性很强。
采用这样的方式,主要是要定义好数据包的协议。
 
另外我对网络不原理不太了解,有一个问题想问一下:
在局域网同一个网段上,某服务器每10秒广播一次,与每10秒向某客户机发一次同样大的数据,哪个网络流量大?
 
不要用广播
 
最最典型和普通的网络编程,服务器提供一个端口供客户端查询数据
 
Huiz:
你所说的“查询数据”是指数据库SQL方式的操作吗?
 
同意不要广播.你还以用DCOM 在服务器上做个COM组件,客户端就调用服务的COM接口来取得数据,服务端也能反调客户端,这样即扩展性好,又能实时同步!
 
后退
顶部