Re: [問題] 本機 server&client socket實作問題
感謝大家的解答,可以運作了.
補充一下:
第一次連線的connection(以前沒連線過的), 才會跑serverSocket.accept();
後續傳送資料的部分,都靠SocketServer InputStream/OutputStream在處理.
InputStream需用無限迴圈不斷監測client是否有送來資料.
當InputStream收到資料後,在轉給OutputStream送給其他的client.
※ 引述《pttworld (批踢踢世界)》之銘言:
: ※ 引述《a2975313 (GN)》之銘言:
: : https://gist.github.com/dukeChang/9e7fc2f747592a9474ba
: 嗯。關鍵在於Server.java的
: Thread thread = new Thread(new ClientHandler(clientSocket,
: clientOutputStream));
: 你把clientSocket送給誰的問題。
: 在這裡顯然是ClientHandler,所以
: 在4.1下面使用while(true)把sendToEveryOne包起來就可以了。
: 因為ClientHandler的run()如果沒有loop就只跑一次。
: 只是加了loop這樣會變成每次都會送給所有人,
: 應該在設計上要分成sendToOne和sendToEveryone。
: 設計問題就請自行努力的。
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 59.125.212.5
※ 文章網址: https://www.ptt.cc/bbs/java/M.1432605938.A.7AB.html
討論串 (同標題文章)
java 近期熱門文章
PTT數位生活區 即時熱門文章