connectuser.java

来自「java语音聊天系统 分为服务器端 客户端 连接之后 既可以相互通信 包括语音 」· Java 代码 · 共 80 行

JAVA
80
字号
package Server;

import java.io.*; 
import java.net.*; 
import java.awt.*; 
import javax.swing.*; 
import javax.swing.border.TitledBorder;
import java.awt.event.*; 
import java.util.*;
public class connectUser extends Thread 
{
    private JList list;
    private Socket cc;
    private JTextArea ip;
    private User copy;
    private boolean all=true;
    private Vector<String> users = new Vector<String>();
    public connectUser(Socket cc,JList list,Vector<String> users,JTextArea ip,User copy)
    {
    	this.cc=cc;
    	this.list=list;
    	this.users=users;
    	this.ip=ip;
    	this.copy=copy;
    }
    public void run()
    {
    	String name="";
    	try
    	{
    	    InputStreamReader isr = new InputStreamReader(cc.getInputStream()); 
    	    BufferedReader br = new BufferedReader(isr); 
		    name = br.readLine();
    	}
    	catch(Exception ex)
    	{
    		//System.exit(0);
    	}
    	while(true)
    	{
    		users=copy.getIP();
        	for(int i=0;i<users.size();i++)
        	{
        		if(users.get(i).equals(name+"   ->"+cc.getInetAddress().getHostAddress()+":"+cc.getPort()))
            	{
            	    all=false;
            	}
        	}
        	if(all)
        	{
        		users.add(name+"   ->"+cc.getInetAddress().getHostAddress()+":"+cc.getPort());
        	    ip.append(name+"   ->"+cc.getInetAddress().getHostAddress()+":"+cc.getPort()+" in.\n");
        	}
        	list.setListData(users);
        	String line="";
        	for(int i=0;i<users.size();i++)
        	{
        		line+=users.get(i)+"@";
        	}
        	try
        	{
        	    OutputStreamWriter osw= new OutputStreamWriter(cc.getOutputStream()); 
        	    osw.write(line+"\n",0,line.length()+1); 
        		osw.flush();
        	}
        	catch(Exception e)
        	{
        		for(int i=0;i<users.size();i++)
            	{
            		if(users.get(i).equals(name+"   ->"+cc.getInetAddress().getHostAddress()+":"+cc.getPort()))
                	{
            			users.remove(i);
            			ip.append(name+"   ->"+"192.168.0.242+:"+6668+" out.\n");
                	}
            	}
        	}
    	}
    }
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?