📄 tcpconnect.java
字号:
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 + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -