recv

    0

    2答えて

    私はデータのストリームを扱うTCPを持っています。一度に4096バイト必要ですが、私はrecvの前に全体のソケットサイズを見つける方法が必要です。これは、ソケットを切り替える前にソケットが何回読み取られるかを判断できるようにするためです。また、これがこのソケットの最後のrecvであることを通知するので、選択可能なスイッチが利用可能になった時点で他のソケットに切り替える前に何かできることがあります。

    0

    1答えて

    マルチプレイヤーでクイズゲームをプログラムしたいと思います。 サーバーの部分が質問を選択し、それをクライアントに送信します。クライアントはこの答えに応答し、サーバーに送信します。サーバーは、それが正しいかどうかをチェックします。私はこれをループでやりたい。 しかし、問題は、タイミングの問題がある、時々私のクライアントは答えることができる前に質問を受け取らないということです。 別の問題は、クライアン

    1

    1答えて

    TCPは、パケットを任意にマージして分割できます。だから、例えば、コール、私が行うと仮定します。データの `recv(sock, buf, 15, 0)` しかし、この時点でのみ5バイトがすぐに利用可能である - データの15バイトまで ウィルrecv()ブロックが利用可能である、または意志私は5バイトしか得られませんか? 私は、例えば、私は読むことができるかどうかを知るためにuint32_t

    0

    1答えて

    send()とrecv()を使用してソケットTCPを送信しようとしています。テストのために、38バイトの小さなテキストファイルを送信しています。 char * b = (char *)malloc(chunk + 2); while (size > 0) { memset(b, 0, chunk); if (chunk > size) { chunk = size

    2

    2答えて

    Cソケットのrecvmsg()にキューがある場合、キューにバックログされているアイテムの数はどのようにして調べることができますか? 私の問題は、recvmsg()から何かを受け取った後のコードの速度が、recvmsg()に送信されたデータの速度よりも遅いことがあります。キューが大きすぎるとどうなりますか? while (recvmsg(SocketA,...) > 0) { ...

    0

    1答えて

    ここに私のコードは、クライアントはrecv(それは256文字を期待している)サーバーがちょうど5文字を送信する原因となるが、recv、任意のアイデアを返す必要がありますか? #----------------------------------------------------------- # server.py import socket import sys sock = soc

    -1

    1答えて

    こんにちは私はここからこのrecv()ループを使用しています:Winsock recv() does not block recv()関数は常に-1を返してループを終了し、何かを受け取る。非ブロッキングソケットを持つメインのコードを呼び出す int System::receive(SOCKET &recvSocket) { char buffer[4096] = { 0 };

    0

    1答えて

    この例を参照してください(docs):​​私は、TCPを使用してクライアントとサーバの間のブロッキングソケットとの双方向通信を実現しようとしています。 client->serverまたはserver->clientから片方向通信が可能ですが、サーバーとクライアントの両方でメッセージを受信しようとすると、ソケットがブロックされたり「ハング」したりします。私はrecvを使用する単純なアルゴリズム(re

    0

    1答えて

    私は2つの部分でデータを受け取るモジュールを持っています。最初に、次に続くデータの長さを示す符号なし整数。次にデータそのもの。不完全な受信のために、私は間違ったデータを取得しています:無限ループに unsigned int z; struct kvec vec; struct msghdr msg; while(1) { memset(&vec, 0, sizeof(vec));

    0

    1答えて

    フラグMSG_WAITALLは、recvに使用できます。これは、完全な要求が満たされるまでブロックするようにrecvを要求します。つまり、エラーが発生していないか、接続が閉じられていない限り、要求されたデータ(引数lenで指定)が受信されるまで、recvは返されません。 なぜこのようなフラグはsendにも適用されませんか?私はそれが非常に送信するために便利だと思う(send呼び出し元が送信したいす