2016-04-07 6 views
-3

[C#]こんにちは、私は自分自身のローカルサーバーを作成し、そこに保存されている返信データを外部の人々に接続させる方法について興味があります。私は "XNA"ソリューションを探していません。私はクライアントの裸の骨をサーバーにダイジェストしたいと思います。ゲーム用ローカルサーバーC#

マイPC [サーバー] - >他のPCから取得できるようにPlayerデータを常に更新/受信します。他のクライアントからのデータを格納します。

[クライアントPC] - > [サーバーへの書き込み(新しいプレーヤーデータ/更新を作成します)とビジュアルを更新するために、更なる情報を取得し、他のプレイヤーなど

+1

実際の質問は何ですか?書かれているように、これは広すぎます。 [**ここに質問する方法**](http://stackoverflow.com/questions/how-to-ask)をお読みください。 –

+0

コメントをお寄せいただきありがとうございます。一般的な質問は基本的にどのようにしてこのサーバーをローカルで初期化して、自分のローカルデータを自分のPCに保存できるようにするのですか? –

+0

例はMinecraftサーバーです。このゲームサーバークライアントを使用すると、ポート転送とPC上のすべてのデータの格納によってサーバーをローカルで開始できます。 –

答えて

0

これは、誰もがちょうど行うことができ、小さなものではありません特にプログラミングに慣れている場合は特にそうです。私はまず小規模から小規模なアプリケーションをいくつか作り、.NETフレームワークライブラリで遊んで快適にしていきます(私は特にSystem.Net/System.Net.SocketsとSystem.SecurityのSSL暗号化を見ています) 。一定の通信を処理し、迅速に応答できるシステムを実装する必要があるため、ネットワーキングコンポーネントは膨大になります(ネットワーキングの観点からパケットが欠落してクライアントのタイムアウトを引き起こす可能性があります)。また、どのような種類のデータ(保存されたゲーム、プレーヤーのデータ、個人情報(パスワード、電子メールアドレスなど)なのか)やそのデータの保存方法について考えることもできます。これには多くの有料技術と無料技術があります(Postgres、SQL、MySQLなど)。私が言及しているいくつかのアイテムについては、素早くGoogleをやってください。マルチプレイヤーをサポートするためにゲームを開発するには何年もの時間がかかるのです。

あなたが物事を詰め込み、他人のコードを分解して学ぶ学習者のタイプの場合は、以下の記事のいくつかを見てみましょう。

http://csharp.net-informations.com/communications/csharp-multi-threaded-server-socket.htm

http://www.codeproject.com/Articles/1415/Introduction-to-TCP-client-server-in-C

は、ここでの異なるSystem.Net名前空間のクラスや関数を解剖いくつかのMSDNの記事です。

https://msdn.microsoft.com/en-us/library/system.net(v=vs.110).aspx

https://msdn.microsoft.com/en-us/library/system.net.sockets(v=vs.110).aspx

https://msdn.microsoft.com/en-us/library/system.security.cryptography(v=vs.110).aspx

https://msdn.microsoft.com/en-us/library/system.security.cryptography.x509certificates.x509certificate(v=vs.110).aspx

また、サーバーは、一度に1つの要求を処理しているだけではなく、確認するために、スレッドを使用して見たいと思うでしょう。これには多くのアプローチがありますが、スレッドを使用する基本的な例がいくつかあります。

http://www.dotnetperls.com/thread

When to use Multithread?(いくつかのポインタをどのようにして我々の独自のS/Oサイト:)上のスレッドを使用します)。

は、ここであなたがプロジェクトのこの種に置く必要があるでしょう努力の種類を示すために、あなたが、より多くのを阻止することを意図していないhttps://msdn.microsoft.com/en-us/library/system.threading.thread(v=vs.110).aspx

MSDN

からスレッドのDLです。あなたがしたいことは完全に実行可能ですが、いくつかの脳のトレーニングと頭の傷が必要になります。あなたがコスプレをしていると思っているだけで、C#の専門知識のレベルが不明な場合は、謝罪してください!あなたには運が良かったですが、うまくいけばこれは素晴らしい学習体験に変わります!

+0

私は.Netに非常に精通しています。私はこれまでにこのようなアプリケーションに取り組んだことはありません。情報ありがとうございました! –

+0

私が沢山のリンクやその他のものを使用してはいけないのであれば、司会者には謝罪します。私の礼儀を修正することは自由ですが、彼の質問はかなり面倒で包括的です。うまくいけば、これは役に立ちます。 –

+0

@TylerEspositoクライアント/サーバー通信の役割を果たすために企業レベルでこれらの1つを試さなければなりませんでした。あるシステムをある程度安定して良くするには、数週間かかりました。それは非常にイライラし、時には挑戦していますが、それは素晴らしいことです(そこには多くの図書館があり、これを行うための事前に書かれたコードがありますが、これはネットワーキングの勇気を示します)。運が良かった! –

関連する問題