发信人: leoncom (God Bless), 信区: java
标 题: java代码框架示例……socket通信(server)
发信站: 兵马俑BBS (Mon Oct 22 22:37:09 2007), 本站(bbs.xjtu.edu.cn)
server段主要是要实现多线程达到每到一个链接就生成一个新的线程去处理请求
服务器要一直监听,所以要extends Thread 或者 implements Runnable
import java.net.*;
import java.io.*;
public class ServerTest implements Runnable {
public static void main(String argv[]) {
ServerTest server=new ServerTest();
Thread thread = new Thread(server);
thread.run();
}
public void run(){
try {
ServerSocket server = new ServerSocket(8080);
while (true) { //监听服务器端口
Socket socket = server.accept();
(new EchoSerSession(socket)).start(); //得到消息生成线程处理
}
}
catch (IOException e) {
System.out.println(e);
}
}
public class EchoSerSession extends Thread { //后台处理线程类
Socket socket;
public EchoSerSession(Socket s) {
socket = s;
}
public void run(){
try{
DataInputStream in = new DataInputStream(socket.getInputStream());
String inf = in.readUTF(); //生成数据流读取数据
/*这里写你的处理流程并将结果用in.writeUTF写回去*/
System.out.println(inf);
in.close();
}catch(Exception e){
e.printStackTrace();
}
}
}
--