C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[4]: 【C#,VS2022,WPF】gRPCでサーバを作りたい


(過去ログ 176 を表示中)

[トピック内 5 記事 (1 - 5 表示)]  << 0 >>

■101135 / inTopicNo.1)  【C#,VS2022,WPF】gRPCでサーバを作りたい
  
□投稿者/ エルデの王 (17回)-(2023/01/09(Mon) 00:25:55)

分類:[C#] 

いつもお世話になっております。
環境はC#,VS2022,WPFです。

掲題の通りですが、
WPF製のゲームにネットワーク対戦の機能を追加したいです。
せっかくですし流行り?のgRPCというプロトコルを使ってみたいのですが、
検索してもASP.NETのサンプルしか見当たらないように見受けられます。

WPFでgRPCサーバを作る方法や資料はあるでしょうか?
それとも素直にHttpListenerクラスを使うべきでしょうか?(ゲームのジャンルは2DのRTSで同時接続50名程度を想定しています。

引用返信 編集キー/
■101136 / inTopicNo.2)  Re[1]: 【C#,VS2022,WPF】gRPCでサーバを作りたい
□投稿者/ Azulean (1259回)-(2023/01/09(Mon) 07:57:12)
2023/01/09(Mon) 07:59:17 編集(投稿者)

No101135 (エルデの王 さん) に返信
> WPF製のゲームにネットワーク対戦の機能を追加したいです。
> せっかくですし流行り?のgRPCというプロトコルを使ってみたいのですが、
(略)
> WPFでgRPCサーバを作る方法や資料はあるでしょうか?
> それとも素直にHttpListenerクラスを使うべきでしょうか?(ゲームのジャンルは2DのRTSで同時接続50名程度を想定しています。

これは、ゲームのプレイヤーの一人がサーバーを立てる、ホストとなるような構成を考えているのでしょうか?
そして、そのホストに 50 名もつなぐということでしょうか?
そういうつもりであれば、考え直すことをお勧めします。


・Windows ライセンス条項への抵触が懸念される
Windows のクライアント OS は「サーバーとして運用できない」ライセンス条項となっております。一部の例外でも、20 接続を上限とする規約であり、かつ技術的に制限されています。

・グローバル IP アドレスを持っていない可能性がある
グローバル IP アドレスを持っているケースはそう多くなく、サーバー側に回れる人が少ない。
グローバル IP アドレスがわからない場合は調べて、学んでみてください。

・ファイヤウォールなどによって阻害されうる
サーバー機能を持ったゲームを実行するとき、セキュリティソフトによって自動的にブロックされたり、初回に許可するかどうかの確認があったりします。
自動的にブロックしてしまったり、よくわからない場合に「キャンセル」を押してしまったりすると、細かな設定を触らないとサーバーが立てられなくなります。
利用者がそういった「判断」ができるかどうか?で考えてみてください。


-----

閉じた LAN であれば数人でプレイするなら良いですが、50 名規模を考えているならインターネット経由でしょうから、クライアントサイドでサーバーを立てさせる戦略は実運用が難しいと思われます。
サーバー側のプレイヤーの PC やプロセス、回線に問題があるとゲーム全体がなかったことになるのも良くないですよね?
引用返信 編集キー/
■101141 / inTopicNo.3)  Re[2]: 【C#,VS2022,WPF】gRPCでサーバを作りたい
□投稿者/ エルデの王 (19回)-(2023/01/09(Mon) 12:07:41)
なるほど……
三つも大きな問題があるわけですね。
回答ありがとうございます。
もう少し考えてみようと思います。

ところでマインクラフトと呼ばれるゲームがあるのですが、
これは自由にサーバーを立てることができ、そこにネット上から繋げることが出来るのですが、
ゲームサーバーはWindows ライセンス条項の例外になる……?どういうことなんでしょう……

いずれにせよ、ありがとうございました。
解決済み
引用返信 編集キー/
■101145 / inTopicNo.4)  Re[3]: 【C#,VS2022,WPF】gRPCでサーバを作りたい
□投稿者/ 魔界の仮面弁士 (3532回)-(2023/01/09(Mon) 13:27:52)
# 解決済みチェックは付けたままにしておきます。

No101141 (エルデの王 さん) に返信
> ところでマインクラフトと呼ばれるゲームがあるのですが、
> これは自由にサーバーを立てることができ、そこにネット上から繋げることが出来るのですが、
> ゲームサーバーはWindows ライセンス条項の例外になる……?どういうことなんでしょう……

Minecraft サーバーが「インターネットインフォメーションサービスに該当するかどうか」に関わってきそうです。

[Windows10 homeのサーバー利用での商用の範囲について]
https://answers.microsoft.com/ja-jp/windows/forum/all/windows10/69e46989-54c8-4189-a086-ea39c4622002


なお、上記 URL にある「Apache を Windows で動作させる際のライセンスについて」とは下記のことです。

[Windows上でApacheを利用する場合のライセンス]
https://srad.jp/story/03/07/19/1536205/

[Apache を Windows 2000/XP Professional 等で動作させるときのライセンス問題の雑感]
https://bit.ly/3vNnsG5

とはいえ、上記の情報は 20 年近く前の記事ですし、その当時においても
>> Windows XP Professional/Home Edition 上では、 Apache を公開 Web サーバとして動作させることは、ライセンス上許諾される
>> Windows 2000 Professional や Windows NT Workstation 上では、 Apache を公開 Web サーバとして動作させることは、ライセンス上許諾されない
>> 英語版の EULA を確認する限り、該当部分の Windows 2000 Professional と Windows XP Professional の文面は、固有名詞の大文字小文字の違いを除き、まったく同一です。
>> マイクロソフト社の人自身が自社のライセンス体系について正しく理解しているとはいえない
ということで、OS バージョンによって判断が異なる上に、EULA を読むだけでは判断しきれない、という状況でした。

そのため、ライセンス上適切かどうかという点については、ユーザーコミュニティ(掲示板等)でやり取りしても
正解に辿り着くことは無いでしょう。個人の見解という程度です。

では Windows 10 ではどうなのか…ということで、実際に問い合わせた方もいる様です。
https://zenn.dev/ddpn08/articles/9ef15c9239cc17


【参考情報:マイクロソフトソフトウェアライセンス条項】
[パッケージ版 Windows 10(日本語)]
https://www.microsoft.com/en-us/Useterms/Retail/Windows/10/UseTerms_Retail_Windows_10_japanese.htm

[プリインストール版 Windows 10(日本語)]
https://www.microsoft.com/en-us/Useterms/OEM/Windows/10/Useterms_OEM_Windows_10_Japanese.htm

[パッケージ版 Windows 11(日本語)]
https://www.microsoft.com/en-us/Useterms/Retail/Windows/11/Useterms_Retail_Windows_11_Japanese.htm

[プリインストール版 Windows 11(日本語)]
https://www.microsoft.com/en-us/Useterms/OEM/Windows/11/Useterms_OEM_Windows_11_Japanese.htm
解決済み
引用返信 編集キー/
■101146 / inTopicNo.5)  Re[4]: 【C#,VS2022,WPF】gRPCでサーバを作りたい
□投稿者/ エルデの王 (20回)-(2023/01/09(Mon) 15:52:45)
情報ありがとうございます!
私もサポートに問い合わせてみようと思います。
マイクラは大丈夫なのか〜
解決済み
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -