我是新來的套接字編程,以測試一些情況下,我使用Java端客戶端通過套接字發送整數數據我想在cpp中的服務器端接收這些數據。像無法接收數據(recv在CPP)放入套接字(在Java中寫()())
out=new DataOutputStream(s.getOutputStream());
ar=1;
le=1;
out.writeInt(ar);
out.flush();
out.writeInt(le);
out.flush();
和IM使用recv函數在CPP接收這個數據
我在客戶端(JAVA)的代碼看起來。上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):錯誤閱讀插座:數參數數量的:16777216,返回值= -1073741824 E/RILC(235):插座上的誤差讀數:參數長度:期望長度:1075093557
如果有人發佈對此的答案,這將是一個很大的幫助。 謝謝
請顯示您如何聲明號碼。另外,recv的回報值是多少? – Rolle
數字被聲明爲整數。返回值= -1073741824是從recv – user2401368