recv

    10

    5答えて

    は、ここで私が働いているいくつかのコードの簡易版です:私たちはRECVへの最初の呼び出しが成功したと仮定した場合 void stuff(int fd) { int ret1, ret2; char buffer[32]; ret1 = recv(fd, buffer, 32, MSG_PEEK | MSG_DONTWAIT); /* Error ha

    1

    1答えて

    EDIT:このプロジェクトが再度与えられたため、コード/説明が削除されました。 私はrecvfrom()呼び出しで、間違った長さ/サイズを渡しただけです。この行に

    0

    2答えて

    私はソケットプログラミングを使って通信する2つのプログラムを持っています。当初は番号を指定します。互いの間でメッセージを交換しなければならない時間についてのホップの数である。メッセージを受け取るたびに、そのIDをメッセージに追加します。したがって、文字列は毎回サイズが大きくなります。私のプログラムは8000ホップで正常に動作していますが、プログラムp1は長さ16388の文字列を送りますが、8000

    1

    3答えて

    こんにちは、私は/ recvメッセージを送信するためにTCP接続を使用します。質問は、私は多くのメッセージを送信し、待ち時間を測定したいです。したがって、私はすべてのメッセージが送信された後に受信したくない。しかし、私が時間内に入ってくるメッセージを処理しなければ、プログラムは予期せぬ結果を得ます。 msgを送信するプログラムをブロックせずにrecv()を処理できる方法はありますか? コメントをい

    0

    1答えて

    LinuxでTCPソケットからデータを取得するインターフェイスを作成しています。ユーザは、受信したデータが格納されるバッファを提供する。提供されたバッファが小さい場合、私はエラーを返すだけです。 最初の問題は、バッファーが小さいかどうかを判断することです。 recv()関数はバッファに実際に書き込まれたバイト数を返します。 recv()のマンページに記載されているMSG_TRUNCフラグを使用する

    1

    2答えて

    LinuxでTCPソケットからデータを取得するインターフェイスを作成しています。ユーザは、受信したデータが格納されるバッファを提供する。提供されたバッファが小さい場合、私はエラーを返すだけです。第1の問題は、バッファが小さいかどうかを判断することです。 recv()関数はバッファに実際に書き込まれたバイト数を返します。 recv()のマンページに記載されているMSG_TRUNCフラグを使用すると、

    4

    4答えて

    私はCの新機能とTCPサーバーの作成方法について、サーバーが応答するコマンドを送信するクライアントからrecv()を処理する方法が不思議でした。この質問のために、ヘッダが第1バイト、コマンド識別子が第2バイト、ペイロードの長さが第3バイトであり、ペイロードがあるとします。 このデータをrecv()する最良の方法は何ですか?私は、最初の3バイトをバッファに読み込み、ヘッダとコマンド識別子が有効である

    3

    2答えて

    これまでの質問のいくつかを見ると、単純な接続をCソケットで実行していました。プログラムの全体的なネットワーキングの側面ですが、誰もがどこかで始めなければなりません)。以下のコードを含めましたが、これを実行するとエラーは発生しませんが、同時にパケットを取得しません。ちなみに、私はobjective-Cでマルチキャストソケットをプログラミングしています。 "msgStatus"はGUI上のラベルです(

    2

    3答えて

    カメラからビデオを取得するために、ソケットクライアントがHTTP経由でRTSPを使用してIPカメラと通信することを暗示しました。 カメラとの通信を確立するには、まずHTTP-GETトンネルを設定してから、RTSPコマンドを送信する必要があります。カメラが接続を失うと、プログラムはトンネルハンドラを終了し、スレッドを終了し、プロセスがメイン関数に戻ると、通信を開始します(トレッドを開始するなど)。

    3

    1答えて

    後、私は次のような問題を持っているのrecvながら:私は接続を受けるのepollコードを持っている: while (1) { int nfds = epoll_wait(epollfd, events, 4096, -1); if (nfds == -1) { if (errno == EINTR) continue; perror("ep