📄 chatserver.java
字号:
package com.henry.networkings;
import java.io.*;
import java.net.*;
public class ChatServer {
public static void main(String[] args) {
try {
int i = 1;
//1. create a Server socket
ServerSocket s = new ServerSocket(2500);
System.out.println("Server waiting for client on port 1500.") ;
for(;;) { // multiThreads can start
//2. create a socket for incoming client(accept)
Socket incoming = s.accept(); //get socket for client 每个client一个socket
Thread t = new MultiHandler (incoming, i); //每个client一个Thread
t.start() ; //启动Thread, call run()
i++;
}
}
catch(Exception e) {e.printStackTrace();}
}
}
class MultiHandler extends Thread{
Socket incoming;
int counter;
public MultiHandler() {}
public MultiHandler(Socket s, int c) {
incoming = s;
counter = c;
}
public void run() {
try {
BufferedReader in = new BufferedReader(new InputStreamReader(incoming.getInputStream()));
while(true) {
//3. read data from client through socket
String str = in.readLine() ;
if ((str == null) || str.equalsIgnoreCase("BYE"))
break;
System.out.println(counter + " " + str) ; //print to screen
}
in.close() ;
}catch(Exception e) {
System.out.println();
}finally {
try {
incoming.close();
}catch (Exception e) {System.out.println();}
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -