0

私はこれに関して途方もない問題を抱えています。

私がやりたいのは、(とりわけ)ユーザーが互いに簡単なメッセージを送信できるシステム(C#)を作成したいということです。そこで、サーバー上にあるMySQLデータベースを作成したいと思います。システムを実行している他のコンピューターは、このデータベースにリモートで接続し、特定のテーブルを読み取って、新しいメッセージがあるかどうかを確認する必要があります。クライアントコンピューターをインターネット経由でサーバー上のデータベースに接続したい。

しかし、どうすればこれを行うことができますか?

  1. インターネット経由で接続できるデータベースを作成するにはどうすればよいですか?
  2. クライアントコンピューターでの接続文字列はどのように表示されますか?
  3. クライアントコンピューターとサーバーコンピューターの両方でどのような構成を行う必要がありますか?

どんな援助も深く感謝します、そしてあなたが私の目的を達成するために私がどのように進むことができるかを提案することができれば。私は非常に有能なプログラマーですが、これらのネットワークのことは嫌いです!

私はデータベースにアクセスするためにWPFを使用してC#で開発しています。つまり、デスクトップアプリです!

4

1 に答える 1

0

これがあなたがしたいことをする方法です。

MySQLコネクタ/NETADO.NETコネクタを使用します。ここにあるよ。 http://dev.mysql.com/downloads/connector/net/5.1.html

設定の指示に従ってください。それは非常にうまく機能します。

MySQLサーバーをパブリックIPアドレスに配置します。

クライアントソフトウェアアセンブリを取得して、ADO.NETコネクタを介してそのパブリックIPに接続します。

でもお願いです!

これが正しいことかどうかを自問してください。MySQLサーバー(およびすべてのテーブルサーバー)は、ファイアウォールの背後にあり、限られた数のクライアントパッケージからの接続を受け入れる場合、はるかに安全かつ予測どおりに機能するため、おそらくそうではありません。

マイク・クリステンセンが提案したことを行うことを検討してください。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

これは、MySQLインターフェイスをインターネットで利用できるようにするよりもはるかに安全でスケーラブルであり、パフォーマンスが大幅に向上します。

ちなみに、インスタントメッセージングプロトコルが必要なようです。http://jabber.orgでオープンソースシステムの使用を検討することをお勧めします。このようなものは、すべて自分で作成する場合、正しく理解するのが難しい場合があります。

于 2012-05-24T15:42:43.243 に答える