作者a2975313 (GN)
看板java
标题Re: [问题] 本机 server&client socket实作问题
时间Tue May 26 10:05:35 2015
感谢大家的解答,可以运作了.
补充一下:
第一次连线的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://webptt.com/cn.aspx?n=bbs/java/M.1432605938.A.7AB.html