Re: 請教一下要如何把一各object丟到socket getoup …
※ 引述《sbrhsieh (sbr)》之銘言:
: 另外,兩端的程式如果都要建立 ObjectInputStream/ObjectOutputStream 在 socket
: stream 之上,順序是重要的,如果兩端都是先建立 ObjectInputStream,兩端的程式
: 都會 block 住(看起來 client/server 都當掉了)。
你說的這個狀況,我個人是很懷疑有存在在發問者的情況身上,
因為他 Client 有先建 ObjectOutputStream 才建 ObjectInputStream ,
既然沒有 "兩端都先建立 ObjectInputStream" ,
又何來 "兩端的程式都會 block 住(看起來 client/server 都當掉了)" 。
以下為簡易檢測。
以他的 Client 程式存成 Client.java 作為 Client,
並依據 Client.java 改名成 Server.java 為 Server,
Server.java 中
Client 換成 Server,
增加引入 import ServerSocket;
增加宣告 ServerSocket ss;
把 socket = new Socket(servername, port);
換成 ss = new ServerSocket(port);
socket = ss.accept();
Server.java 及 Client.java 中
把 //程式停在這邊
至 ...
換成 System.out.println("done");
Server 端
outstream = new ObjectOutputStream(socket.getOutputStream());
instream = new ObjectInputStream(socket.getInputStream());
這兩行順序互換並無影響 done 是否會顯示。
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 218.160.32.151
→
12/24 23:22, , 1F
12/24 23:22, 1F
討論串 (同標題文章)
java 近期熱門文章
PTT數位生活區 即時熱門文章