問題タブ [networking]
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# - スケーラブルなソケット イベント キューの処理
私の C# クラスは、tcp ストリーム スタイルのソケット接続を介して受信した大量のイベントを処理できる必要があります。クラスのソケットが tcp サーバーから受信するイベント メッセージの量は完全に可変です。たとえば、10 秒間に 1 つのイベント メッセージしか受信しない場合もあれば、1 秒間に 60 のイベント メッセージを受信する場合もあります。
メッセージを受信するために Socket.ReceiveAsync を使用しています。ReceiveAsync は、受信操作が保留中の場合は true を返し、ネットワーク上に既にデータがあり、受信操作が同期的に完了した場合は false を返します。操作が保留中の場合、Socket は IO 完了スレッドでコールバックを呼び出します。それ以外の場合は、現在の (IOC) スレッドで独自のコールバックを呼び出します。さらに、イベント メッセージに混じって、この tcp サーバーに送信されたコマンドに対する応答も受け取ります。応答メッセージはすぐに処理されます。スレッドプールワーカーを起動することにより、個別に。
ただし、「十分な」(N) 個のイベント メッセージをキューに入れるか、ネットワーク上になくなるまで、スレッドプール ワーカーを起動して、イベント メッセージのバッチを処理したいと考えています。また、すべてのイベントを順番に処理したいので、一度に 1 つのスレッドプール ワーカーだけが処理されるようにします。
イベント メッセージのプロセッサは、メッセージ バッファをオブジェクトにコピーし、イベントを発生させてから、メッセージ バッファを解放してリング バッファ プールに戻すだけで済みます。私の質問は...これを達成するための最良の戦略は何だと思いますか?
さらに情報が必要ですか? お知らせ下さい。ありがとう!!
networking - XNA プロジェクトの Live/GamerServices に代わるものはありますか?
XNA の GamerServices コンポーネントを使用して Xbox/GfW Live にアクセスし、ネットワーキングを行うには、開発者とプレーヤーがそれぞれ、Microsoft のクリエーターズ クラブに年間 100 米ドルのサブスクリプションを持っている必要があります。Xbox360 XNA プロジェクトでは、ゲームを 360 に配置するにはサブスクリプションが必要なため、これはそれほど問題ではありません。
しかし、XNA を使用する PC ゲームの場合、プレイヤーのゲーマー カードにアクセスするためだけに、開発者とプレイヤーに毎年それだけの費用を負担させるのは非常にクレイジーです。GamerServices と同様の利点を提供する XNA ゲームのソリューションはありますか? それとも、プレイヤー (および自分自身) に $100/head の打撃を与えたくない場合、開発者は独自のネットワーク機能を構築することにほとんど制限されているのでしょうか?
networking - 人為的に接続タイムアウト エラーを作成する
接続タイムアウトを受け取ったときに発生するバグがソフトウェアにありました。これらのエラーは非常にまれです (通常、内部ネットワークによって接続が切断された場合)。ソフトウェアをテストできるように、この種の効果を人為的に生成するにはどうすればよいですか?
それが重要な場合、アプリは CAsyncSocket クラスを使用して C++/MFC で作成されます。
編集:
存在しないホストを使用しようとしましたが、ソケット エラーが発生しました。
WSAEINVAL (10022) 引数が無効です
私の次の試みは、別のポート、たとえば 81 に接続するというAlexanderの提案を使用することでした (ただし、自分のサーバーでは)。それはうまくいきました。切断された接続とまったく同じです (60 秒待ってからエラー)。ありがとうございました!
windows - 特定のプログラムが使用しているポートは?
特定のプログラムが使用しているポートを把握できるようにしたいと考えています。どのプロセスがコンピュータのどのポートを使用しているかを教えてくれる、オンラインで利用できるプログラム、またはウィンドウが付属しているプログラムはありますか?
PS - プログラミングの質問ではないためにこれをダウンモッドする前に、ネットワーク コードをテストするプログラムを探しています。
c# - DNS なしでネットワーク上のすべてのコンピューターのリストを取得する
ご挨拶、
特定のネットワーク上のすべてのコンピューターのリストを取得する方法が (C# または .bat ファイルで) 必要です。通常、私は「ネット ビュー」を使用しますが、これは (私の理解では) あなたのドメイン内でのみ機能する傾向があります。ネットワーク上で利用可能なすべてのコンピュータの名前 (または少なくとも IP アドレス) が必要です。
自分のものではないドメイン上のすべてのコンピューターを取得できる場合 (この場合、WORKGROUP を使用するか、デフォルトを使用します) も機能します。
c# - C#の別のプロセスによって使用/ロックされているネットワークを介してファイルを読み取るにはどうすればよいですか?
リモートマシンのマシン管理者である場合、ネットワークを介してロックされたファイルを読み取る方法はありますか?ロックされたファイルをローカルで読み取ることができませんでした。ネットワーク経由で読み取ると、さらに問題が発生します。
multithreading - XMPPアプリケーションのスレッド実装を研究するための良い情報源は何ですか?
私の理解では、XMPPプロトコルは常時接続に基づいており、XMLメッセージがいつ終了するかを即座に示すことはできません。
これは、ストリームが来たときにそれを評価する必要があることを意味します。これは、メッセージの長さや接続が遅いために、ソケットがXMLメッセージの途中でブロックされる可能性があるため、おそらく非同期接続を処理する必要があることも意味します。
回答ごとに1つのソースをいただければ幸いです。そうすれば、それらを変更して、お気に入りが何であるかを確認できます。
apache - Windows2003 で Apache と IIS を並べて (どちらもポート 80 をリッスン)
これを行うための良い方法は何ですか? きれいにすることさえ可能ですか?
理想的には、パケット ヘッダーを使用して、要求を処理するサーバーを決定したいと考えています。ただし、より簡単な/より良い方法があれば教えてください。
wcf - WCF を使用して非 .NET クライアント用の SOAP インターフェイスを公開する際の問題を知っている人はいますか?
WCF を使用して非 .NET クライアント用の SOAP インターフェイスを公開する際の問題を知っている人はいますか? たとえば、他の SOAP ライブラリとの非互換性は?
これは、サードパーティが当社のソフトウェアと統合できるように SOAP インターフェイスを公開できるようにするためです。