tcpconnect.java

来自「JAVA聊天工具」· Java 代码 · 共 62 行

JAVA
62
字号
import java.awt.Color;
import java.io.IOException;
import java.net.ServerSocket;
import java.net.Socket;

import javax.swing.JOptionPane;



/*
 * 线程类TCPConnect建立了对TCP端口的监听,并在接受到会话请求的时候打开一个
 * 会话应用程序,从而实现与对方点对点的单独通信.
 */
class TCPConnect extends Thread
{
	ServerSocket listen;
	ChipChat c;
	int port;
	String name;
	
	public TCPConnect(int TCP_PORT,ChipChat CC,String nickname)
	{
		name = new String(nickname);
		c = CC;
		port = TCP_PORT;
		this.start();
	}
	

	public void run()//run()实现了对指定的端口的监听
	{
		try
		{
			//初始化端口,将listen端口放在run()方法内,可以使得一机运行多个程序而不出现端口冲突
			listen = new ServerSocket(port);
			processMsg("正在监听TCP端口……");
		}catch(IOException e)
		{
			JOptionPane.showMessageDialog(null,"请不要在同一机器上运行多个CC","端口已被占用",JOptionPane.ERROR_MESSAGE);
			 processMsg("群聊功能仍可使用");
			e.printStackTrace();
		}
		try
		{
			while(true)
			{
				Socket client = listen.accept();//监听端口
				TCP_Frame TT = new TCP_Frame(client,name);//当接收到会话请求时打开会话程序
				TT.setVisible(true);
			}
		}catch(IOException e)
		{
			e.printStackTrace();
		}
	}
	
	
	public void processMsg(String str)//在应用程序的登陆信息框中显示信息
	{
		c.lstMsg.add(str);
	}
}

⌨️ 快捷键说明

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