Java 套接字接收空值(Android)

Java 套接字接收空值(Android),java,android,sockets,null,Java,Android,Sockets,Null,我有一个与服务器通信的android应用程序(用java编写)。 在这两部分之间,我建立了一个套接字连接,并希望发送数据。 我遇到的问题是,有时,对于某些用户,到达服务器的信息是空的 这适用于(所有手机、所有用户): 服务器: int a = Integer.parseInt(in.readLine()); int b = Integer.parseInt(in.readLine()); int c = Integer.parseInt(in.readLine()); int d = Integ

我有一个与服务器通信的android应用程序(用java编写)。 在这两部分之间,我建立了一个套接字连接,并希望发送数据。 我遇到的问题是,有时,对于某些用户,到达服务器的信息是空的

这适用于(所有手机、所有用户):
服务器:

int a = Integer.parseInt(in.readLine());
int b = Integer.parseInt(in.readLine());
int c = Integer.parseInt(in.readLine());
int d = Integer.parseInt(in.readLine());
String checksum = in.readLine();
String model = in.readLine();
String device = in.readLine();
String name = in.readLine();
客户:

out.println(a);
out.println(b);
out.println(c);
out.println(d);
out.println(hash);
out.println(Build.MODEL);
out.println(Build.DEVICE);
String name = fixName();
out.print(name);
out.flush();
out.println(a);
out.println(hash);
out.println(Build.MODEL);
out.println(Build.DEVICE);
String name = fixName();
if(name == null) name = "John Doe";
out.println(name);
String msg = fixMsg();
if(msg == null) name = "nada";
out.println(msg);
out.println(curversion);
out.flush();
这不起作用(对于某些用户):
服务器:

客户:

out.println(a);
out.println(b);
out.println(c);
out.println(d);
out.println(hash);
out.println(Build.MODEL);
out.println(Build.DEVICE);
String name = fixName();
out.print(name);
out.flush();
out.println(a);
out.println(hash);
out.println(Build.MODEL);
out.println(Build.DEVICE);
String name = fixName();
if(name == null) name = "John Doe";
out.println(name);
String msg = fixMsg();
if(msg == null) name = "nada";
out.println(msg);
out.println(curversion);
out.flush();
有时,在第二种情况下,名称、消息和版本(字符串测试)在服务器端为空。捕获被触发,因为测试为空。
曲线版本,a是整数,其余是字符串


有什么想法吗?

错在别的地方,没有得到许可。不,这不是互联网,这是读电话的状态。当READ\u PHONE\u状态不可用时,getDeviceId()对于某些手机上的某些版本返回null

故障出在其他地方,没有得到许可。不,这不是互联网,这是读电话的状态。当READ\u PHONE\u状态不可用时,getDeviceId()对于某些手机上的某些版本返回null

这里的编码很差。每次调用readLine()时,必须立即测试结果是否为null,如果为true,则停止读取并关闭流


这种特殊情况是扫描仪的工作

这里的编码很差。每次调用readLine()时,必须立即测试结果是否为null,如果为true,则停止读取并关闭流

这种特殊情况是扫描仪的工作