【发布时间】:2010-08-16 09:13:17
【问题描述】:
我正在做一个概念应用证明,也许有一天会成为收入来源。
数据流要求必须是一个客户端-服务器应用程序,信息在客户端之间共享并且应该被持久化。
我有编写独立应用程序的经验,我为应用程序建模并编写了客户端。与服务器的通信只是一个存根。
所以现在我有了一个带有方法调用的 (C#) 接口形式的协议。
其中四个调用用于请求信息,两个用于将数据推送到服务器。
这些数据在我想冷冻干燥并在另一边恢复的类中。
将来我想将客户端移植到其他操作系统,所以我不想做一些我必须从头开始重写服务器的事情,如果我不能避免的话。
我还想以不确定的时间间隔更新客户端中的数据。今天我不知道该怎么做。
我的应用程序是单线程的,Windows 窗体
我的假设是:
* 我将在所有内容下方以某种形式使用 TCP/IP。我必须设置频道,设置 IP 地址和类似的东西,我知道我必须做什么。
* 服务器的前端将是多线程,以允许多个客户端同时与服务器通信。同步将在服务器内部进行。
* 预计数据量,最大:文本 1000 * 1kbyte,100 000 个具有 4 种状态的对象。每天 20 000 次更新。但那是未来的方式。
可能三个最大的问题是
1. 通讯协议。如何将我的方法调用(接口中的方法调用)映射到可以在 TCP/IP 通道上传输的东西?
2. 我需要一个好的模式来序列化读取和写入“数据库”,数据库不需要是sql server。
3. 我能否允许服务器向客户端发送更新,而不使其成为一个只监听套接字的多线程应用程序?
如果需要更多信息,我会很乐意更新我的问题。
提前致谢。
戈尔根
【问题讨论】:
标签: .net architecture client-server