問題タブ [recv]

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.

0 投票する
1 に答える
204 参照

c++ - HTTPサーバー、接続が受け入れられた後、recv()から-1が返されます

C ++でクラスのHTTPサーバーを実装する必要がありますが、接続が受け入れられた後、recv()-1を返します。どうすればこれを修正できますか?以下にコードを投稿しました。

0 投票する
2 に答える
2265 参照

network-programming - rawソケットでのrecvfrom()の使用:一般的な疑問

データリンク層からすべてのIPv4パケットを取得するrawソケットを作成しました(データリンク層ヘッダーは削除されています)。そして、私が使用するパケットを読み取るためにrecvfrom

私の疑問は次のとおりです。OSによって行われたスケジューリングのために、私のプロセスが1秒間スリープしていたとします。目覚めたとき、recvfromこのrawソケットで(受信するバイト数はたとえば1000で)、( IPv4パケットを1つだけ受信し、このパケットのサイズは380バイトであると言うことを意図して)実行しました。また、この間に多くのネットワークアプリケーションも同時に実行されていたため、すべてのIPv4パケットがこのソケットの受信バッファーにキューイングされている必要があります。したがってrecvfrom、1000バイトすべてを返します(381番目以降の他のIPv4パケットを含む)bcozは、バッファに返すのに十分なデータがあります。私のプログラムは1つのIPv4パケットのみを理解することを目的としていましたが

では、このことを防ぐ方法は?バイトごとに読み取り、各バイトを解析する必要がありますが、非常に非効率的です。

0 投票する
2 に答える
1253 参照

c - 1つの文字列でwhileバッファを取得するためのrecv()関数フラグ[windows C]

このコードは、txtファイルを完全に送信および受信しますが、.exeや.imgなどのその他の形式には送信できません。htonlまたはhtonsを使用する必要があるので、これらを手伝ってください。見てください!

これがサーバー側のrecv関数です::

0 投票する
2 に答える
3940 参照

c++ - c++ ソケットの選択と受信の問題

以下は、ソケットプログラミングに問題があるコードフラグメントです。ここでselect呼び出しの後、Windows XP で 9 行目をスリープしないと、11 行目で 1 バイトが受信され (代わりにサーバーから整数として 4 バイトが送信されます)、xmlSize を確認すると 0 に設定されます。 iResult が 1 であるため実行が継続され、15 行目で xmlSize=0 で receive が呼び出され、iResult=0 接続が閉じられているため、iResult が 0 以降に設定されます。

しかし、Windows 7 ではこれは発生せず、プログラムは問題なく 4 バイトを読み取り、通常の実行を続けました。ただし、XPではスリープ(これを作成したばかり)で動作しましたが、なぜですか??

このコードの欠陥は何ですか?

0 投票する
1 に答える
3005 参照

ruby - Ruby TCPSocket recv がブロックされ、返されない

だから、私は次のコードを持っています:

終わり

通常、これは問題なく機能します。私が話しているサーバーは、通常、非常に迅速に応答を返し、すべてが順調です。

そして、今日、サーバーに問題が発生しました。私の問題ではありませんが、これによりアプリケーション全体がハングし、recv がタイムアウトするのを待ちました。これは正確には最適ではありません。

すぐに何かが聞こえない場合、recv をタイムアウトにする方法はありますか? ルビーのドキュメントを見てみましたが、本当に混乱しています(つまり、TCPSocketは3つのメソッドしか実装しておらず、openまたはrecvのいずれも実装しておらず、Socketの親クラスもこれらのメソッドを実装していません。そして、Socketの親クラスはObjectのようです? 私は完全に混乱しています)

0 投票する
1 に答える
1368 参照

c++ - リモート プロセスへの Winsock2 recv() フック

カスタムの recv() winsock2.0 メソッドをリモート プロセスにフックしようとしていたため、プロセス内の関数ではなく関数が実行されました。これをグーグルで調べたところ、本当に良い例がいくつか見つかりましたが、説明が不足しています。

さて、私の質問は、これはどういう意味ですか、またはこれは実際の recv() 関数へのある種のポインターですか?

そして、カスタム関数のもう 1 つのコード

これらの質問が本当に基本的に聞こえる場合は申し訳ありませんが、私は 2、3 週間前に学習を始めたばかりです。ありがとう。

0 投票する
2 に答える
940 参照

network-programming - recvfrom 最大バッファ TCP/IP

ソケットを理解するための小さな C プログラムを書いています。recvfrom から返されるデータの最大長は?

recvfrom(生、packet_buffer、buf_size、...);

Linux の最大 buf_size はいくらですか。この size_t に関連する定数はありますか?

ありがとう

0 投票する
5 に答える
12715 参照

c - ソケットプログラミング:recv/readの問題

編集:以下のコードは、適切に送受信し、送信および受信したメッセージの実際のバイトを説明するように修正されました(後でEJPに感謝します)

私はUnixでCを使ってプログラミングしています。

メッセージを交換することになっているサーバーとクライアントがあります。クライアントはメッセージを正常に送信しているように見えますが、サーバーはクライアントが送信しているメッセージを受信しません。私はrecv()andを使ってみましたread()が(実際には同じものですが、フラグが追加されrecv()ています)、運がなく、問題が実際に何であるかがよくわかりません。

sleep(3)メッセージを送信するたびにクライアントコードを入力しましたが、クライアントとサーバーが接続されると、サーバーは着信メッセージを待たずにすぐに閉じます。私は何が間違っているのですか?

これはクライアント側のコードです。

これはサーバー側です

0 投票する
2 に答える
440 参照

c - recv()について混乱している

この質問に答えても、見つからなかった場合はご容赦ください。

私はちょっと混乱していますrecv()recvfrom()。サーバーがアドレスをバインドすると(またはTCPの接続を受け入れると)、recv()が呼び出されます。recv()送信されたメッセージを常にチェックしますか、それともメッセージが受信されるまで待機しますか?待機する場合、待機時間はどのくらいですか?

私が理にかなっているかどうかはわかりませんが、誰かが私を教えてくれるなら、私は感謝するでしょう。

0 投票する
3 に答える
2620 参照

sockets - Cソケットからの16進バッファーの読み取りの問題

SDL_netソケットAPIを使用してサーバーとクライアントを作成しています。文字列バッファは簡単に読み取れますが、16進データを送信しようとすると、recvが長さを取得しますが、バッファの内容を読み取れないようです。

これがスニペットです。バッファ長「len」が設定されていますが(つまり、メッセージ長)、メッセージバッファのデータ内容を取得できません。一部のサンプルbind_transmitterPDUデータは、ランダムクライアントによってそのポートのサーバーに送信されました。PDU(SMPP)が読み取れません。