?? serverthread.java
字號:
import java.net.*;
import java.io.*;
import java.util.*;
// 伺服執(zhí)行緒
public class ServerThread extends Thread {
private ServerSocket _serverSkt;
private BroadCastThread _broadCastThread; // 負(fù)責(zé)廣播
public ServerThread(int port) {
setDaemon(true);
// 啟動廣播執(zhí)行緒
_broadCastThread = new BroadCastThread();
_broadCastThread.start();
try {
_serverSkt = new ServerSocket(port);
}
catch(IOException e) {
System.out.println(e.toString());
}
}
public void addSysopMessage(String message) {
_broadCastThread.addMessage(message);
}
public void run() {
Socket clientSkt = null; // 客戶端Socket
ClientThread client = null; // 客戶端連線
try {
while(true) {
System.out.println("傾聽客戶端......");
clientSkt = _serverSkt.accept();
System.out.println(clientSkt.getInetAddress() + "連線......");
// 啟動一個客戶端執(zhí)行緒,第二個參數(shù)指定廣播執(zhí)行緒物件
client = new ClientThread(clientSkt, _broadCastThread);
client.start();
// 將客戶端加入廣播執(zhí)行緒中管理
_broadCastThread.addClientThread(client);
}
}
catch(IOException e) {
System.out.println(e.toString());
}
}
public void finallize() {
try {
_serverSkt.close();
}
catch(IOException e) {
System.out.println(e.toString());
}
}
}
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -