随便想的一段代码,没有测试过,请自己捕捉意外
ServerSocket server = new ServerSocket(80); //your port
server.setSoTimeout(0);
while(true){
   Socket socket = server.accept();
   new MyProcessor(socket).start();
}
class Myprocessor impelements Runnable
{
Socket socket;
Myprocessor(Socket){this.socket = socket;}
run(){你的服务代码,应该是线程安全的}
}

解决方案 »

  1.   

    当然要多线程
    以下代码经过测试通过,贴给你了
    import java.io.*;
    import java.net.*;
    public class socketServer
    {
    public static void main(String args[])
    {
    AppServer svr;
    svr=new AppServer();
    }
    }
    /////////////////////////////////////
    class AppServer
    {
    ServerSocket server;
    Socket client;
    Thread thrListener;
    Thread thrDisplay;
    //PrintStream streamToClient;
    ///////////////////////////
    //function construct
    ///////////////////////////
    public AppServer()
    {
    Listener objListener=new Listener();
    Display objDisplay=new Display();
    thrListener=new Thread(objListener);
    thrDisplay=new Thread(objDisplay);
    try
    {
    server=new ServerSocket(1001);
    }
    catch(Exception e)
    {
    System.out.println(e.toString());
    }
    thrListener.start();
    thrDisplay.start();
    }
    //¼àÌýÏß³ÌÀà
    class Listener implements Runnable
    {
    //////////////////////////////////
    //function run()
    //////////////////////////////////
    public void run()
    {
    byte byteBuffer[]=new byte[250];
    String str;
    try
    {
    while(true)
    {
    client=server.accept();
    }
    }
    catch(Exception e)
    {
    System.out.println(e.toString());
    }
    }
    }
    //¶Á²¢ÏÔʾsocketÁ÷Ïß³ÌÀà
    class Display implements Runnable
    {
    //////////////////////////////////
    //function run()
    //////////////////////////////////
    public void run()
    {
    InputStream streamFromClient;
    BufferedReader ioBufferedReader;
    InputStreamReader ioInputStreamReader;
    byte byteBuffer[]=new byte[250];
    String strRead;
    try
    {
    while(true)
    {
    if(client!=null)
    {
    streamFromClient=client.getInputStream();
    ioInputStreamReader=new InputStreamReader(streamFromClient);
    ioBufferedReader=new BufferedReader(ioInputStreamReader);
    if(ioBufferedReader.ready())
    {
    strRead=ioBufferedReader.readLine();
    System.out.println(strRead);
    }
    /*
    streamFromClient=client.getInputStream();
    streamFromClient.read(byteBuffer);
    strRead=new String(byteBuffer);
    System.out.println(strRead);
    */
    }
    }
    }
    catch(Exception e)
    {
    System.out.println(e.toString());
    }
    }
    }
    }
      

  2.   

    谢谢,小弟试试了,说实话,学JAVA时间不长,什么都不懂。