我正在研究Java流, 在服務器端,我試圖通過objectOutputStream發送int並在客戶端接收它。但是,我沒有收到任何客戶端。Java Socket - 通過對象流傳遞int?
這裏是服務器側發送INT
public static int PLAYER1 = 1;
new ObjectOutputStream(player1.getOutputStream()).writeInt(PLAYER1);
這裏是在客戶端側接收INT:
fromServer = new ObjectInputStream(socket.getInputStream());
這裏就是我測試收到的int部分:
int player = fromServer.readInt();
if(player == PLAYER1){
System.out.println("yy working");
}else{
System.out.println("not working");
}
問題是,我沒有得到一個錯誤,也沒有系統出來.. 我正在使用ObjectStreams而不是DataStreams,因爲某些原因。
這些片段建議您爲每條消息創建新的流。不要這樣做。最好是浪費,最壞的情況下不會工作。在套接字的生命週期中使用相同的流。 – EJP