自分のゲームにマルチプレイヤーサポートを追加したいので、TcpListenerを開いてリクエストを接続するのを聞く「Create Server」ボタンを作成し、ボタンを押すと、開いているすべてのTcpListenerのリストが表示されます(ユーザが接続をクリックできるようにします) C#でこれに組み込み関数がありますか?C#開いている "TcpListeners"のリストを取得する方法
0
A
答えて
0
残念ながら、このためのIPまたはTCP仕様のこの機能は、 IPもTCPも、「サービス・ロケータ」タイプの機能を提供しません。
この機能を実装するには、サーバーを実行しているプレーヤが接続情報(IPアドレス/ポート番号)をゲームを探している他のプレイヤーにブロードキャストする方法が必要です。これは伝統的に利用可能なゲームの情報を公開するホスト/コーディネーションサーバーを持つことによって行われます。
3
ネットワーク上のすべてのマシン(またはインターネット全体)のすべてのリスナーのリストが必要ですか?答えはいいえ、そのための組み込み関数はありません。
小規模なLANでは、サーバーが存在をブロードキャストすることができます。これは、インターネットが登場する前にゲームが通常それをした方法です。
現在、これらのサーバーは通常、実際のゲームをホストしているすべてのサーバーの一覧を持つ中央サーバーに接続します。
いずれにしても、いくつかの作業が必要です。
0
ローカルエリアネットワークに限定している場合は、ゲームサーバーがリッスンしているポートでブロードキャストでき、何らかの登録メッセージで応答することができます。
ゲームを妨害しないように、ゲームを分けることもできますし、ゲームとは異なるポートでリッスンする別の登録サービスを利用することもできます。
関連する問題
- 1. 開いているウィンドウのリストを取得するC#
- 2. すべての開いているMDIウィンドウのリストを取得
- 3. シェル:開いているポートのFDを取得する方法
- 4. サインインのブラウザを開いてC言語でコンテンツを取得する方法
- 5. OS Xの開いているファイル(ディスクリプタ)のリストを取得
- 6. フォームアプリケーションの開いているWPFウィンドウのリストを取得
- 7. Eclipseエディタで開いているすべてのファイルのリストを取得する方法は?
- 8. Qt Creatorで開いているドキュメントのリストを取得
- 9. 開いているポップアップウィンドウのリストを取得
- 10. nHibernateのセッションファクトリから開いているセッションオブジェクトのリストを取得する方法はありますか?
- 11. グループIDに基づいてリストを取得する方法
- 12. カーネルスペースコードで開いているファイルハンドルをすべて取得する方法は?
- 13. 開いているウィンドウのリストからQWidgetを取り出す方法
- 14. IDに基づいて開始月を取得する方法
- 15. SHGetFileInfo()メソッドでフォルダの開いているアイコンを取得する方法は?
- 16. ブラウザで開いているタブの一覧を取得する方法
- 17. FreeBSDで開いているposix共有メモリセグメントのリストを取得するには
- 18. ユーザスペースからLinuxカーネルモジュールのリストを取得する方法Cコード?
- 19. CでLinuxでオープンソケットのリストを取得する方法は?
- 20. クロムから開いたタブのリストを取得するには? | C#
- 21. phpによってgeoserverに公開されているレイヤのリストを取得する方法は?
- 22. リストのサブセットを取得する方法
- 23. C開いているファイル記述子をすべて取得する
- 24. iphone objective-cにインストールされているアプリケーションのリストを取得
- 25. ftpサーバのすべてのファイルとフォルダのリストを取得する方法(C++)
- 26. DialogFragmentを開いたビューのIDを取得する方法は?
- 27. django.contrib.authモデルを使用しているユーザーのリストを取得する方法
- 28. CのAPIを使用して(ロータス)ノートのリストを取得する方法
- 29. C#開いているフォームを検出する方法
- 30. matplotlibで開いてスケーリングする矢印の頭を取得する方法
sry私は十分正確ではありませんでした.LANの使用のためだけです –
この場合、クライアントはUDPポートでリッスンし、サーバーはそのポートでプレゼンスをブロードキャストします。クライアントは、UDPパケットが送信されたアドレスのサーバーに再び接続できることを認識します。また、サーバー名、ゲームの種類、プレーヤーの数など、パケットにいくつかのデータを置くことができます... – Thomas