簡體   English   中英

ServerSocket未讀取數據

[英]Data not being read by ServerSocket

我正在嘗試在Android中使用多個AVD,並使用套接字在它們之間發送數據。

服務器端代碼段:

ServerSocket ss = new ServerSocket(10000);
Log.v("ReceiverTask", "Receiver waiting for requests");
connectedSocket = ss.accept();
ObjectInputStream ois = new ObjectInputStream(connectedSocket.getInputStream());
Object obj = ois.readObject();
ois.close();
ss.close();

客戶端代碼:

Socket socket = new Socket(InetAddress.getByAddress(new byte[]{10, 0, 2, 2}),njr.sendTo());
BufferedOutputStream bos = new BufferedOutputStream(socket.getOutputStream());
ObjectOutputStream oos = new ObjectOutputStream(bos);                       
oos.writeObject(njr);
Log.d("Client","Object send successfull");
oos.flush();                    
bos.flush();                    
oos.reset();
oos.close();
bos.close();
socket.close();

問題在於,從另一個AVD接收不到從一個AVD發送的對象(如日志所示)。 有時(並非總是在同一時間)發生這種情況。 任何提示可能是什么問題???

在客戶端的末尾使用oos.flush()

socket = new Socket(InetAddress.getByAddress(new byte[]{10, 0, 2, 2}),njr.sendTo());
bos = new BufferedOutputStream(socket.getOutputStream());
oos = new ObjectOutputStream(bos);                      
oos.writeObject(njr);
oos.flush();
oos.close();
Log.d("Client","Object send successfull");

閱讀后關閉流,否則將假定它仍處於打開狀態

oos.Close();

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM