Re: [問題] 本機 server&client socket實作問題

作者: a2975313 (GN)   2015-05-26 10:05:35
感謝大家的解答,可以運作了.
補充一下:
第一次連線的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。
: 設計問題就請自行努力的。

Links booklink

Contact Us: admin [ a t ] ucptt.com