問題タブ [lidgren]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - 両方の IP アドレスが与えられた場合、lidgren-network ライブラリはピアツーピアで直接接続できますか
私は、lidgen-network ライブラリ 3 を使用して、ピア ツー ピア接続を作成しようとしています。私はネットワークプログラミングが初めてなので、このライブラリを使用しています。
DiscoverKnownPeer() 関数を使用して、ネットワーク内で接続できました。私がオンラインで読んだことは、ルーターの外部にある実行中のサーバーを必要とする NAT パンチスルーを実行する必要があるということです。この余分なサーバーを必要としないソリューションを期待しています。
両方の IP アドレスを Web サーバーに保存し、Web サービスを作成して、XML を介してそれぞれのクライアントに IP を送信できる場合、ピア ツー ピア接続を作成できますか?
前もって感謝します。
c# - モノラルでlidgrenを使用したC#ネットワークプログラミング
私は現在、c#XNAとlidgrenを使用して小さなオンラインゲームを作成しています。また、mono + lidgrenを使用して、Linux(安価なホスティングソリューション)で実行できるサーバープログラムを作成したいと考えています。リドグレンとモノを一緒に使用することは可能ですか?別のライブラリを使用する必要がありますか、それとも.NET関数を使用して独自のソケットソリューションを作成する必要がありますか?
答えてくれてありがとう
c# - Windows サービスからの ledgren の使用 / Application_Idle と同等
シンプルなチャットサーバーでlidgrenを使用しようとしています。今、Lidgren ソースのサンプルを見て、次のことに気付きました。
winforms アプリの場合、Application_Idle ハンドラーを NativeMethods.AppStill Idle prop と組み合わせて使用し、lidgren メッセージ ポンプの実行を管理します。
コンソール アプリの場合、Console.IsKeyAvailable を介して同様のことが行われます
私の質問は、Windows サービス アプリケーション内で推奨される同等のものは何でしょうか?
c# - 私の単純なlidgrenクライアントが大量のメモリを使用するのはなぜですか?
私は、lidgren を使用する単純なクライアントとサーバーを持っています。クライアントは継続的にサーバーに要求 (値 1 の 1 バイトで構成されるメッセージ) を送信し、クライアントは「データ」 (2000 ushorts) で応答します。これを 1 秒間に約 20 回行っています。着信データをリストに保存し、データを受信するたびにリストをクリアします。問題は、タスク マネージャーで client.exe のメモリ使用量を監視していて、どんどん増えていくことです。10分で約100MBまで上がりました。ときどきガベージ コレクターを実行するように仕向けることができますが、メモリ使用量を少し削るだけのようです。
私のサーバーのコードは次のとおりです。
ここに私のクライアントのコードがあります:
.NET Memory Profiler を使用してみましたが、内部構造はよくわかりませんが、libgren が着信データをどこかに保持していることを確認できました。私の最善の推測は、あまりにも多くのデータがあまりにも速く送信され、クライアントのどこかにキューに入れられているということです。それは起こりますか?サーバーのメモリ使用量は安定しています。
c# - ネットワーキングフロー
私はC#でゲームを設計していますが、あなたはそれをたくさん手に入れると確信しています-しかし、私の理解のためにオブザーバーパターンの周りに何かを設計したいという点で私の質問は少し異なります-そして私はそれについて多くの情報を見つけることができません。
私のすべてのパケットは、IPacketと呼ばれる基本的なインターフェイスを実装しています...そして、特定のタイプのパケットが受信されたときにイベントを発生させることを望んでいました。大規模なスイッチを使用せずに。
私はおそらく次のようなものを望んでいました:
networkEvents.PacketRecieved + = [...]
誰かがこれを行う方向に私を向けることができますか?
c# - C#に最適な画像圧縮
私は現在、モニター画像をキャプチャしてインターネット経由でクライアントに送信するソフトウェアに取り組んでいます。これまでのところ、ローカルエリアネットワークで動作していますが、インターネット経由でテストすると、ほとんどの画像がクライアントに届きません。
私はネットワーキングにLidgrenを使用しています。現時点では、画面からビットマップを取得し、それを30品質のJPEGに変換し、G-zipで圧縮して送信します。各画像のサイズは約80KBで、クライアントに1秒間に10枚の画像を送信しようとしています。これは、7メガビットのアップロード接続が必要なようですが、地雷はわずか2メガビットです。
つまり、基本的に、各画像のファイルサイズを劇的に減少させる圧縮ライブラリや手法を知っている人はいますか。これは完全に不可能かもしれませんが、私はそれをやってみようと思いました。
どんな助けでも大歓迎です、ありがとう!
c# - C#Lidgren Library-アドレスはすでに使用されていますか?
XNAゲーム用にLidgrenライブラリを試しています。単純なサーバーとクライアントを作成しました。サーバー:
クライアント:
ポートは値1000の整数です。サーバーを起動した後、client.connectメソッドでエラーが発生します。エラーは次のとおりです。ポート0.0.0.0:1000へのバインドに失敗しました-アドレスはすでに使用されています!オプションreuseaddressについて何か聞いたことがありますか?それをタフに修正する方法を見つけることができません。
ありがとう!!
3d - XNA & Lidgren 3D ネットワーキング ゲームで他のモデル/プレイヤーが描画されない
ネットワークには xna ゲーム エンジンと Lidgren ライブラリを使用しています。クライアントがサーバーに接続し、クライアントが他のプレイヤーを見ることができる 2D ゲームをテストして作成しました。しかし、私は 3D ゲームを作成しようとしました。クライアントはサーバーに接続し、X、Y、および Z 座標を渡します。だから私は各モデルの位置を持っていますが、クライアントに他のプレイヤー/モデルを描かせることができないようです. 私は何が欠けていますか?私はそれが私の描画ロジックにあると仮定していますが、私は困惑しています。何が起こっているのですか?