Java客戶端可以使用TCP連接到C++服務器。 Java客戶端在Win7上。 C++服務器在Linux上。如何將數據從Java客戶端發送到C++服務器?
問題是我無法成功發送數據到C++服務器。 Java代碼是:你的善良幫助
public static void main (String [] args) throws IOException {
Socket sock = new Socket("10.217.140.200",7000);
String id = "TEST";
char encoding = 'a';
ObjectOutputStream oos = new ObjectOutputStream(sock.getOutputStream());
oos.flush();
oos.writeObject(encoding);
後,我現在用的OutputStream和它的作品。請記住刪除ObjectOutputStream oos = new ObjectOutputStream(sock.getOutputStream());
,否則它會向C++服務器輸出4個字符。
您確實沒有提供足夠的信息來確定問題出在哪裏,但是一開始'oos.flush()'應該放在'oos.writeObject()'之後,而不是之前。 – Mac
謝謝,我現在將.flush()移動到末尾 – zhoubo
,我可以將數據從java客戶端發送到C++服務器,奇怪的是數據從第四個位置開始存儲(不知道爲什麼0到3的位置是不曾用過 )。 當我在C++端打印接收到的數據時,打印0到3的結果是兩個? 任何人都知道前四個位置用於什麼? – zhoubo