1

私はソケットプログラミングに慣れていないので、いくつかのケースをテストするために、Java側クライアントを使用してソケットを介して整数データを送信していますが、cppでサーバー側でそのデータを受信したくありません。

クライアント側(Java)の私のコードは次のようになります

out=new DataOutputStream(s.getOutputStream());
ar=1;
le=1;
out.writeInt(ar);
out.flush(); 
out.writeInt(le);
out.flush();

そして、cpp の recv 関数を使用してこのデータを受信します。cpp側のコードは次のようになります

  if (int(recv(acceptFD, &number, sizeof(int), 0)) != sizeof(int))
  {
     ALOGE ("error reading on socket: number of Args: %d,reutrned value =%d\n",number);
    return;
  }

  for (int i = 0; i < number; i++) 
  {
    int len;
    if (recv(acceptFD, &len, sizeof(int), 0) != sizeof(int)) 
    {
        ALOGE ("error reading on socket: Len of Args: expected length :%d\n",len); 
         freeDebugCallbackArgs(i, args);
        return;
    }

ログを次のように表示します

E/RILC (235): ソケットの読み取りエラー: Args の数: 16777216、戻り値 =-1073741824 E/RILC (235): ソケットの読み取りエラー: Args の Len: 期待される長さ:1075093557

誰かがこれに対する回答を投稿すると、大きな助けになります。ありがとうございました

4

1 に答える 1