50,538
社区成员
发帖
与我相关
我的任务
分享
import java.net.*;
import java.io.*;
public class TestServersession {
public static void main(String[] args) throws Exception {//Exception是自定义异常处理的类
//建立一个socket服务,其端口号是8000
ServerSocket server = new ServerSocket(8000);
System.out.println("STARTED: " + server);
while (true) {
Socket client = server.accept();
Thread waiter = new Thread(new MySocketWaiter(client));
waiter.start();
}
}
}
class MySocketWaiter implements Runnable {
private Socket client;
public MySocketWaiter(Socket client) {
this.client = client;
}
public void run() {
try {
//接收client的数据,作为一个输入数据,放在一个接收缓冲区里面,这个缓冲区叫br
BufferedReader br = new BufferedReader(new java.io.InputStreamReader(client.getInputStream()));
String line = null;
while ((line = br.readLine()) != null) {
//输出br里的数据(客户端发来的数据)
System.out.println("RECEIVE[" + client.getRemoteSocketAddress() + ":" + client.getPort() + "]" + line);
}
} catch (Exception ex) {
ex.printStackTrace();
} finally {
System.out.println("DISCONNECT " + client.getRemoteSocketAddress() + ":" + client.getPort());
try {
client.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
try {
while (true) {
java.net.Socket client = server.accept();
Thread waiter = new Thread(new MySocketWaiter(client));
waiter.start();
}
} catch(Exception ex) {
ex.printStackTrace();
}
public static void main(String[] args) throws Exception {
java.net.ServerSocket server = new java.net.ServerSocket(8000);
while (true) {
java.net.Socket client = server.accept();
Thread waiter = new Thread(new MySocketWaiter(client));
waiter.start();
}
}
class MySocketWaiter extends Runnable {
private Socket client;
public MySocketWaiter(Socket client) {
this.client = client;
}
public void run() {
...
}
}