我的问题是关于一个应用程序,它将使用数据库服务器所在的主机应用程序,以及一些将向主机发送信息的客户机。关于.Net中客户端主机应用程序的建议
基本上,主机应用程序从客户端接收一些数据,进行一些计算和错误检查,然后(如果一切顺利)将信息存储在数据库中。接收到的数据可以很容易地序列化,或者将字符分隔成少于50个字符的字符串。
我知道我在开发这个通信应用的基本选项是WCF和之前它已经工作,但我对这种特殊情况下担忧的事实是:
主机和在大部分时间将客户端通过无线USB调制解调器连接到互联网,我们都知道它们不提供最可靠的连接。
会有很多客户端同时向主机发送信息,每个客户端都有自己的标识ID,因为它决定了接收的数据的类型以及它代表的内容。
由于不太可靠的连接,我希望能够知道数据包是否已成功发送,并且如果不能在通信完成之前继续尝试。
每隔几分钟就会从每个客户端发送新数据,如果让我们说连接失败了5分钟,我希望能够在连接恢复时发送所有未发送的信息。
最后我很想知道如何能够知道在哪里联系主机,因为USB调制解调器没有静态IP,这可能会不时变化。
我的想法是要么试图建立通过WCF服务,其中客户会直接发送的所有信息到主机或可能考虑以XML格式序列化从客户端的数据通信,然后将它们上传于3日服务器将一直可用,然后每隔一分钟使用主机应用程序尝试将可用信息与第三台服务器中的可用信息进行同步。
希望我在这篇冗长的文章中明确表达了我想要完成的内容,并且非常感谢您对这样一个项目的想法。
投票结束:这不是一个论坛。 – 2012-01-27 20:55:55
@JohnSaunders你能提供一个答案,那么最好的方法是什么? – Kypros 2012-01-27 21:17:50
最好的方法是做什么?讨论一下?讨论的最佳方式是在别的地方。请参阅[faq]。 – 2012-01-27 21:19:15