import java.io.IOException;
import java.net.ServerSocket;
import java.net.Socket;
import java.io.BufferedReader;
import java.io.InputStreamReader;java
public class TestServer {服務器
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
//一、建立服務器監聽器
ServerSocket server = null;
try {
server = new ServerSocket(9527);
//二、開始監聽
System.out.println("開始監聽......");
while(true){
Socket socket = server.accept();//accept會進入阻塞狀態,一旦有消息發送過來,就返回Socket對象
//三、開啓子線程進行消息處理
new ProcessThread(socket);
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} finally{
if(server != null){
try {
server.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}socket
}ide
public class ProcessThread extends Thread{
private Socket socket;
public ProcessThread(Socket socket){
this.socket = socket;
this.start();
}
@Override
public void run() {
// TODO Auto-generated method stub
//三、從Socket的InputStream取數據
BufferedReader br = null;
try {
br = new BufferedReader(new InputStreamReader(socket.getInputStream()));
String msg = br.readLine();
System.out.println("接收的消息:" + msg);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} finally{
if(br != null){
try {
br.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
if(socket != null){
try {
socket.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
}this