这不是关于“网络编程”,而是关于如何处理客户端运行位于服务器上的应用程序并且网络连接暂时中断时出现的问题。
我的背景是.Net。我的理解是,如果我运行位于另一台机器上的应用程序,那么来自远程机器的.exe被加载到客户端机器上的内存中...这意味着,在.Net中,我可以在网络中捕获异常下来处理它。
我对Clarion还不太了解,但是我使用的销售点系统在网络崩溃时总是崩溃,这是用Clarion编写的。程序员向我保证,当网络出现故障时,我不再连接到驻留在服务器上的应用程序(我不同意这一点,因为如前所述,我相信应用程序已经在客户端的内存中了。)
可以在Clarion应用程序中处理此问题,更重要的是,如果是这样,那么您将如何处理它?</ p>
编辑:另外,我可以看到如果正在访问尚未加载到内存中的特定dll,可能会出现问题,但出于此问题的目的,假设情况并非如此。我可以通过拔掉网线随时随地解决这个问题,所以我非常有信心这不是问题(或者至少不是99%的时间)。
答案 0 :(得分:3)
应用程序可能位于客户端的内存中,但是当网络出现故障时,数据连接可能会丢失。如果没有在代码中处理,客户端肯定会崩溃。 NetTalk虽然非常强大,但在这种情况下可能不是你想要的。
在任何Get
,Set/Next
,Add
,Put
等之后,您应该检查错误:
Get(File, Key)
IF ErrorCode()
!Show error message and ask to retry, etc.
Message('Error '&ErrorCode()&' - '&Error())
End
您还可以查看FileError()
,它会为您提供有关文件相关错误的更多详细信息。
答案 1 :(得分:2)
是的,Capesoft.com提供了一个很好的模板集/扩展,称为NetTalk。我用它写了很多以网络为中心的应用程序,它运行得很好。示例显示如何编写Web服务器,Mailclient等。我认为很多基本的网络功能都符合你的需求。
玩得开心, 米克