0

我对此有很大的麻烦。

我想做的是:我想创建一个系统(在 C# 中),它将(除其他外)允许用户相互发送简单的消息。所以我想创建一个MySQL 数据库,它将基于服务器。运行该系统的其他计算机将必须远程连接到该数据库并读取某个表以查看它们是否有任何新消息。我希望客户端计算机通过互联网连接到服务器上的数据库。

但是我该怎么做呢?

  1. 如何创建可以通过 Internet 连接的数据库?
  2. 我的连接字符串在客户端计算机上应该是什么样子?
  3. 我需要在客户端和服务器计算机上进行哪些配置?

非常感谢任何帮助,如果您能建议我如何实现我的目标。我是一个非常称职的程序员,但讨厌这些网络东西!

我正在使用 WPF 在 C# 中开发来访问数据库。所以它是一个桌面应用程序!

4

1 回答 1

0

这是你如何做你要求做的事情。

使用 MySQL 连接器/NET ADO.NET 连接器。是这里。 http://dev.mysql.com/downloads/connector/net/5.1.html

按照说明进行设置。它工作得很好。

将您的 MySQL 服务器放在公共 IP 地址上。

让您的客户端软件程序集通过 ADO.NET 连接器连接到该公共 IP。

但是,求求您!

问问自己这是否是正确的做法。可能不是,因为当 MySQL 服务器(和所有表服务器)位于防火墙后面并接受来自有限数量的客户端包的连接时,它们的工作更加安全和可预测。

考虑按照 Mike Christensen 的建议去做。使用 ASP.NET 和 WCF 或任何您喜欢的堆栈来构建 MySQL 数据库的服务器驻留接口。然后,您推送给最终用户的客户端软件可以访问该服务器驻留界面。

该接口可以只包含您需要的方法。WCF 或任何其他用于构建服务器组件的堆栈都可以轻松且稳健地完成此任务。例如。

Client 1: This is moe. Here's a message for curly:  "Look at the grouse, look at the grouse".
Server: OK

Client 2: This is curly: any new messages?
Server: moe says "Look at the grouse, look at the grouse".

Client 1: This is moe. When did curly last collect my messages?
Server: ten minutes ago.

Client 2: This curly. any new messages?
Server: NO

这比仅在 Internet 上提供 MySQL 接口更安全、更具可扩展性,并且性能会更好。

顺便说一句,您似乎想要一个即时通讯协议。您可能想研究使用http://jabber.org上的开源系统。如果你自己构建它,这些东西可能很难做好。

于 2012-05-24T15:42:43.243 回答