谁来帮我看看这段代码。拉兄弟一把吧(多线程问题-在线等)
import java.net.*;
import java.io.*;
public class MTServerBase extends Thread{
protected Socket socket;
public void run(){
try{
String s = "I am a test server.Goodbye";
socket.getOutputStream().write(s.getBytes());
socket.close();
}catch(Exception e){
System.out.println(e);
}
}
static public void startServer(int port,class clobj){
ServerSocket ssock;
Socket sock;
try{
ssock=new ServerSocket(port);
while(true){
Socket esock=null;
try{
esock=ssock.accept();
MTServerBase t = (MTServerBase)clobj.newInstance();
t.socket=esock;
t.start();
}catch(Exception e)
try{esock.close();}catch(Exception ec){}
}
}
}catch(IOException e){
}
}
static public void main(String args[]){
System.out.println("Starting server on port 808");
MTServerBase.startServer(808,MTServerBase.class);
}
}
书上说这是一个多线程的例子,请教这里的startServer(int port,class clobj)怎么理解?其中的Socket sock;并没有用到呀为什么还要定义呢?整个类是怎么实现的?