首页>代码>java swing聊天室程序--带语音>/局域网聊天-带语音/ChatClient/src/Client.java
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日
顶部 客服 微信二维码 底部
>扫描二维码关注最代码为好友扫描二维码关注最代码为好友