散分,請大家來討論SCKTSRVR.EXE與客戶端,服務端數據更新流程 ( 积分: 200 )

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

longcar

Unregistered / Unconfirmed
GUEST, unregistred user!
比如:客戶端中clientdataSet.open時,SCKTSRVR.EXE與服務端怎樣交互,它們之間會發生什麼事件及數據怎樣打包與拆包,參與有分,謝謝
 
比如:客戶端中clientdataSet.open時,SCKTSRVR.EXE與服務端怎樣交互,它們之間會發生什麼事件及數據怎樣打包與拆包,參與有分,謝謝
 
scktsrvr服务器只是在客户端和数据服务器之间建立一个socket连接,提供通过TCP/IP协议进行数据的通讯。在他的源码中能够找到封装的socket类,里面有SendData方法。每次发送的数据包64k。当客户端的clientdataset.open的时候,她只是把数据请求用过socketconnection将数据打包发送给scktsrvr服务器,scktsrvr服务器再和数据服务器的远程数据模块里的provider接口通讯,把请求发给他进行相应的操作。然后把数据集通过这个路径发回给客户端的clientdataset
 
接受客户端连接,处理客户端请求
SCKTSRVR.EXE很不稳定(特别是作为服务启动的时候,手工启动会好一点),建议使用DCOMConnection
 
建议使用ADO的DCOMConnection
 
那比如當用戶按下CLientdata.applyUppdate(0)後,MIDAS又時怎樣打包發送數據的等,如果當SocketConnection1.Connected:=True後,如果要傳一些數據到服務,而不調用像AppServer.XXXX的方法,如果直接通過socket又會怎麼樣
 
TO qinjlin76
怎么实现,找不到的。
 
求知答案中.....
 
关于SCKTSRVR.EXE,可以看宝兰Delphi的Socket单元,名字忘记了。这部分内容是和网络编程有关的,可以看有关方面的资料。
 
其实在数据的通讯和组件的调用操作看Source/VCL里面的SCKTSRVR工程的源码就可以了,但是在数据打包方面,是Midas的保密技术,所以没有提供的。
 
后退
顶部