問題タブ [winsock2]
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 - WSASend呼び出しの完了を受け取らないことは可能ですか?
タイトルにあるように、I / O完了ポートに関連付けられたソケットで正常 WSASend
に呼び出された場合、スレッドの終了以外の理由で完了を通知しない可能性はありますか?
完了が投稿されていないように見える奇妙な状況がありWSASend
、その結果、ソケットリークが発生します。アプリケーションは、送信がまだソケットに対して保留中であると見なし、それを解放することを拒否します。
送信コードは次のとおりです。
tcp - Winsock TCPパケットが送信されましたが、ホストに到達していません
サーバーが4つ以上-25バイトのパケットをクライアントに送信する場合、最初の2つだけがクライアントによって処理されます。クライアントでイベント選択を使用しており、サーバーで送信しています。エラーはありませんが、最初の2つのパケットのみが表示されます。前もって感謝します。
c++ - TCP 接続を使用して HTTP サーバーからデータを取得すると、まれにガベージ データが存在する
Visual Studio 2010 を使用して、Winsocks 2.2 を使用して C++ でネットワーク ゲームを作成しています。Web サーバーを使用して、ゲームのアクティブなサーバーのリストを保存することをお勧めします。サーバーが起動すると、それ自体が Web サーバーに登録され、終了時に登録解除されます。誰かがサーバーリストにアクセスすると、サーバー自体がリストを消去しようとします(この動作は、サーバーであまり多くの作業を行わないように設計中ですが、ゲームサーバーが自分自身を追加しようとすると、 php ファイルは fsockopen を使用して、実際に外部ネットワークからサーバーにアクセスできるかどうかを検出します。そうでない場合は、ポート転送を適切にセットアップするか、何らかの方法で問題を解決できるまで、サーバーは追加されません)。
さて、いくつかの調査の後、HTTP サーバー用の特殊なメッセージをフォーマットすることで、TCP 接続を使用してサーバーから何かを取得する方法を見つけました。ここに私が持っているものがあります:
正確に取得していない、適切にフォーマットされたデータが返されることを期待しています。ここに私が得ているものがあります:
すべてのヘッダー情報を含むガベージの別の出力を次に示します。
これは私の出力がどのように見えるかであり、私は時々これを取得しますが、常にではありません:
これはあまり重要ではないと思いますが、これは Web サーバー上の私の PHP コードです。
文字列の受信に関連するコードの一部を次に示します (はい、現時点では少し骨の折れるものですが、cstring 関数を使用して 2 つの新しい行を探すことができるので、文字列のコピーを行う必要はありません。物事を簡単にするために文字列の使用に固執しようとしているだけです):
では、このガベージデータがどこから来ているのか知っている人はいますか?
編集: 正しいヘッダー情報を見た後、ゴミのあるものには「Transfer-Encoding: chunked」があり、「content-length」がありません。...何が起こっている?
windows - DLL との通信
LSP (Layered Service Provider) DLL を持っていますが、カタログにインストールした後、プログラムで通信するにはどうすればよいですか? 私の LSP は、大部分が Microsoft のサンプル LSP に基づいています。
LSP DLL に関する komodia の記事を読んでいたところ、メール スロット、名前付きパイプ、COM などを介した IPC (intern Process Communication) が必要であると書かれていました。
これに関する詳細情報を収集するのに苦労しています。カタログ上で動作する LSP DLL と通信するための最良かつ最も効率的な方法は何ですか?
ありがとう。
c++ - C++でソケットを使用したファイル転送
C++言語を使用してクライアントからサーバーへのソケットを使用してファイル転送を行いたい...
私が持っているコードは、文字列をクライアントとサーバーに転送するだけです。
ファイルを転送するにはどうすればよいですか?ヘルプや参考資料も役立ちます。
c - Cソケット:ソケットが閉じているときのゴミの回避
ノンブロッキングソケット(fd_sets
およびselect
関数)を使用してサーバーとクライアントをプログラミングしています。サーバーがクライアントソケットを閉じるかシャットダウンすると、クライアントはクラッシュするまで大量のゴミを受け取り始めます。作業中は警告が表示されます。ソケットを使用select()
すると、接続が終了したときに読み取り可能になりますが、どうすればわかりますか
原因が通常のデータだけなのか、接続が終了したのか。
大いに感謝する!
c++ - Winsocket2とC++を使用して、ネットワーク全体でクライアントサーバーとチャットしますか?
複数のクライアントとサーバーで構成されるチャットシステムを開発しています。
クライアントは、サーバーが応答するブロードキャストメッセージを送信してサーバーを検出し、そのIPとポートをクライアントに送り返す必要があります。
問題は、USBスティック(USBモデム)を使用してインターネットに接続すると、ブロードキャストメッセージがクライアントから送信されますが、サーバーがクライアントに情報を送り返すことができなかったことです。
チャットプログラムを指定されたネットワークインターフェイスに制限する方法はありますか?
他に何か提案はありますか?
sockets - WinSock2 sendは、6ループの反復後にSOCKET_ERRORを返します...なぜですか?
6回の反復の後、送信は-1、別名SOCKET_ERRORを返します。スリープ機能を追加して、1秒待ってから再度ループするようにしましたが、2回しか繰り返されないようになりました。このエラーの原因は何ですか?
java - ソケットプログラミングを使用して Java から C にデータを送信する
WinSock2 を使用して Java クライアントから C サーバーに文字列を送信するプログラムを作成しています。DataOutputStream を使用して、ソケットを介してデータを送信しています。
Cサーバーは受信したバイトを確認しますが、データにアクセスしようとすると何も表示されません。
サーバ
クライアント
出力
delphi - PChar StrPLCopy での無効なポインター操作
WinSock 2 を使用していくつかの TCP サーバーを作成し、FD_READ イベントをキャッチするプロシージャを作成しました。この手順では、受信したメッセージを解析する必要があります。コードは次のとおりです。
デバッグ中に、行に「アクセス違反...アドレスの書き込み...」があります
この問題を解決し、なぜそれが起こったのかを理解するのを手伝ってください. ティア!