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);
}
}