7

私は以下を必要とする小さなマルチプレイヤーを構築しています:

  • Delphiで作成する必要があります
  • インターネット接続をサポートする必要があります(LANだけでなく)
  • HTTPで動作する
  • パケットの暗号化をサポートします(カスタムの場合もあります)
  • サーバーにコマンドを送信できる
  • サーバーからの応答を受信できる
  • 1台のサーバーに最大8人のプレーヤーを接続できます
  • 複雑なオブジェクト(おそらくJSONシリアル化)をサーバーに渡すことができます

新しいDelphi2010Datasnapはこのシナリオで正常に使用できると思いますか、それとも古いTSocketを使用する必要がありますか?

4

3 に答える 3

10

DataSnap は、上に挙げたすべてのことを実行できます。

  1. DataSnap は Delphi で書かれています。
  2. ローカル、ネットワーク、またはリモートの任意の接続を介して HTTP 経由で接続できます。
  3. HTTP 接続のトンネリングのサポートを含め、HTTP 経由で動作します。
  4. 好きなようにデータ ストリームをフィルタリングできます。製品には圧縮フィルターが含まれています。Daniele Teti は非常に優れた暗号化フィルタをいくつか書いています。
  5. サーバーメソッドを呼び出すことで、コマンドをサーバーに送信できます
  6. サーバーコールバックを介してサーバーからの応答を受け取ることができます
  7. 8人をサーバーに簡単に接続できます
  8. JSON オブジェクトを渡すことができます。これは、クライアントとサーバーの間で送信されるデフォルトのタイプです。

あなたの質問に答えるために、はい、新しい Delphi 2010 DataSnap はあなたのシナリオで使用できると思います。

于 2009-12-02T22:29:09.527 に答える
3

ニックが言ったように、答えはイエスです。

Bob Swart は、Delphi 2010 の更新された DataSnapに関するホワイト ペーパーを書き、いくつかのビデオを作成しました。

于 2009-12-02T23:13:33.600 に答える
1

マルチプレイヤー ゲームが大量のデータを送信しない場合、HTTP と Datasnap が機能する可能性があります。高速通信が必要な場合は、UDP とカスタム バイナリ プロトコルを使用します。HTTP 以外のほぼすべてのプロトコルを停止する会社のファイアウォールをバイパスする必要がない限り (企業は通常、勤務時間中にゲームをプレイすることを好まない)、ファイアウォールは発信ではなく着信接続をブロックします。クライアントが接続できるようにするには、サーバーだけがポートを開く必要があります。また、JSON も避けたいと思います。相互運用性が必要ない場合は、バイナリのシリアル化の方がはるかに高速です。

于 2009-12-03T08:35:31.970 に答える