Delphi DataSnapXE广播消息错误
我有一个使用TCP/IP的DatasnapXE客户机服务器应用程序。服务器使用TDSServer.broadcastmessage向客户端广播消息 如果某个用户由于某种原因不再可用,DSServer将触发OnError事件 在OneRor中,我无法确定如何确定哪个用户已关机?有可能吗 致以最良好的祝愿,Delphi DataSnapXE广播消息错误,delphi,broadcast,datasnap,onerror,Delphi,Broadcast,Datasnap,Onerror,我有一个使用TCP/IP的DatasnapXE客户机服务器应用程序。服务器使用TDSServer.broadcastmessage向客户端广播消息 如果某个用户由于某种原因不再可用,DSServer将触发OnError事件 在OneRor中,我无法确定如何确定哪个用户已关机?有可能吗 致以最良好的祝愿, Kiril Hadjiev在XE中没有简单/明显/内置的确定方法。您可以实现一些东西来实现这一点,但它可能没有您想要的那么优雅。例如,您可以让服务器查询所有连接的客户端,并让它们回复说它们仍然存
Kiril Hadjiev在XE中没有简单/明显/内置的确定方法。您可以实现一些东西来实现这一点,但它可能没有您想要的那么优雅。例如,您可以让服务器查询所有连接的客户端,并让它们回复说它们仍然存在。消除过程将引导您找到断开连接的客户端 其中一个主要问题是XE存在一个bug,它阻止会话管理使用TCP连接。否则,您可以导航活动会话(其中可能包含用户/客户端信息),以查看缺少哪些会话 此外,XE不支持TCP保持活动设置,这在TCP连接被切断(例如,网络电缆被拔下)但仍处于打开状态的情况下非常有用。如果没有Keep Alive,只有当你试图给客户写东西时,你才知道客户已经不在了 在RAD Studio/DataSnap的未来版本中,您可能会发现您想要轻松实现这一点的功能是可用的
Mat在XE中没有简单/明显/内置的方法来确定这一点。您可以实现一些东西来实现这一点,但它可能没有您想要的那么优雅。例如,您可以让服务器查询所有连接的客户端,并让它们回复说它们仍然存在。消除过程将引导您找到断开连接的客户端 其中一个主要问题是XE存在一个bug,它阻止会话管理使用TCP连接。否则,您可以导航活动会话(其中可能包含用户/客户端信息),以查看缺少哪些会话 此外,XE不支持TCP保持活动设置,这在TCP连接被切断(例如,网络电缆被拔下)但仍处于打开状态的情况下非常有用。如果没有Keep Alive,只有当你试图给客户写东西时,你才知道客户已经不在了 在RAD Studio/DataSnap的未来版本中,您可能会发现您想要轻松实现这一点的功能是可用的
Mat您最终找到解决方案了吗?当客户端“不正常”断开连接时,我们无法检测到同样的问题。您最终找到解决方案了吗?当客户端“不正常”地断开连接时,我们无法检测到同样的问题。