?? serverchat.java
字號:
package org.my.test.chat;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.ServerSocket;
import java.net.Socket;
import java.util.ArrayList;
import java.util.List;
public class ServerChat {
public static void main(String[] args) {
List<Socket> lt = new ArrayList<Socket>();
ServerSocket ss = null;
Socket st = null;
try {
ss = new ServerSocket(9100);
} catch (IOException e) {
System.out.println("服務打開套接字出錯,服務啟動失敗..");
}
System.out.println("服務啟動啟動成功,開始提供服務...");
while (true) {
try {
st = ss.accept();
} catch (IOException e) {
System.out.println("有一個用戶連接失敗..");
}
lt.add(st);
Thread t = new Thread(new ChatThread(st, lt));
t.start();
}
}
}
class ChatThread implements Runnable {
private Socket s;
private List<Socket> lt;
private BufferedReader br;
PrintWriter pw;
public ChatThread(Socket s, List<Socket> lt) {
this.s = s;
this.lt = lt;
}
@Override
public void run() {
while (true) {
try {
br = new BufferedReader(new InputStreamReader(s.getInputStream()));
String msg = br.readLine();
for (Socket st : lt) {
pw = new PrintWriter(st.getOutputStream());
pw.println(msg);
pw.flush();
}
} catch (IOException e) {
lt.remove(s);
s = null;
break;
}
}
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -