import java.net.*; import java.awt.*; import java.io.*; import javax.swing.JOptionPane; /* * 该类实现创建一个客户端 */ public class Client extends Thread { Listener listener=null; Socket client=null; List onLineUsersList=null,chatContentList=null; String word=""; boolean isClosed=false; public Client(String ip,int port,List onLineUsersList,List chatContentList) throws UnknownHostException,IOException { this.client=new Socket(ip,port); this.onLineUsersList=onLineUsersList; this.chatContentList=chatContentList; this.start(); } public void run() { BufferedReader br=null; PrintStream ps=null; try { br = new BufferedReader(new InputStreamReader(client.getInputStream())); ps=new PrintStream(client.getOutputStream(),true); //建立对服务器发送来的信息进行监听的线程 listener=new Listener(br,this.onLineUsersList,this.chatContentList); //循环发送消息给服务器 while(!isClosed) { if(this.word.length()>0) { ps.println(this.word); this.word=""; } else { sleep(100); } } //关闭回收操作 listener.destroy(); client.close(); } catch (Exception ex) { JOptionPane.showMessageDialog(null,"对不起,有错误,请重启程序。","错误",JOptionPane.INFORMATION_MESSAGE); } } //提供给可视界面一个发消息的入口 public void send(String s) { this.word=s; } public void destroy() { this.onLineUsersList.removeAll(); this.chatContentList.removeAll(); this.isClosed=true; } public Listener getListener() { return this.listener; } }
最近下载更多
游弋time1105 LV1
5月15日
微信网友_6444139264921600 LV6
2023年4月29日
Sopuding LV1
2022年7月16日
tomtom113 LV2
2022年6月9日
ewan007 LV30
2022年4月21日
tdcq123 LV14
2022年3月13日
双方各何必呢 LV13
2021年12月20日
曹思辰 LV6
2021年11月21日
阳光正好 LV2
2021年10月29日
1005948011 LV7
2021年6月1日
最近浏览更多
yzj880427
10月12日
暂无贡献等级
444105047 LV6
6月25日
taoshen95 LV15
6月18日
暂无贡献等级
ntboss2002 LV3
5月3日
1112WHQ LV7
2023年11月3日
yuchunxing LV1
2023年9月2日
2017143155 LV12
2023年6月24日
lynn_zhou LV1
2023年5月30日
微信网友_6444139264921600 LV6
2023年4月29日