我有一個與服務器(用java編寫)通信的android應用程序。 這兩部分之間我建立了一個Socket連接並想發送數據。 我遇到的問題是,有時對於某些用戶來說,到達服務器的信息爲空。接收null(Android)的套接字
此作品(適用於所有手機,所有用戶):
服務器:
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();
這不起作用(對於某些用戶):
服務器:
int a = Integer.parseInt(in.readLine());
String checksum = in.readLine();
String model = in.readLine();
String device = in.readLine();
String name = in.readLine();
String msg = in.readLine();
int version = -1;
String test = "hej";
try{
test = in.readLine();
version = Integer.parseInt(test);
}catch(Exception e){
e.printStackTrace();
}
Clien T:
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();
有時,在第二種情況下,名稱,MSG和版本(字符串試驗)是在服務器側空。捕獲被觸發,因爲測試爲空。
curversion,一個是整數,其餘都是字符串。
任何想法?