0
我做了一個應用程序,必須發送一個類到使用套接字編寫的c + +服務器。該類由變量都是Ints。我想將java類轉換爲字節,然後通過套接字作爲數據包發送它。服務器需要8個字節的數據包大小。當我嘗試轉換我的對象時,我得到了超過8個字節。我還能如何將我的對象發送到服務器?此外,我的代碼在兩個2字節卡盤中發送4個字節的數據。爲什麼這樣做?Android客戶端與遠程服務器
public void connect2() {
String serverHostname = new String("My IP");
ObjectOutputStream out2 = null;
ObjectInputStream in2 = null;
try {
echoSocket = new Socket(serverHostname, MYPORT);
StatusPacket p = new StatusPacket();
byte[] data = new byte[8];
data = serializeObject(p);
int j = data.length;
out2 = new ObjectOutputStream(echoSocket.getOutputStream());
out2.flush();
in2 = new ObjectInputStream(echoSocket.getInputStream());
DataOutputStream dOut = new DataOutputStream(echoSocket.getOutputStream());
out2.write(data);
out2.close();
in2.close();
echoSocket.close();
} catch (UnknownHostException e) {
System.err.println("Don't know about host: " + serverHostname);
System.exit(1);
} catch (IOException e) {
System.err.println("Couldn't get I/O for "
+ "the connection to: " + serverHostname);
System.exit(1);
}
}