我是新来的套接字编程,以测试一些情况下,我使用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