这段java代码是什么意思?

import java.io.IOException;
import java.io.PrintStream;
import java.net.ServerSocket;
import java.net.Socket;

public class MultiThreadServer implements Runnable {
Socket csocket;
MultiThreadServer(Socket csocket) {
this.csocket = csocket;
}

public static void main(String args[])
throws Exception {
ServerSocket ssock = new ServerSocket(1234);
System.out.println("Listening");
while (true) {
Socket sock = ssock.accept();
System.out.println("Connected");
new Thread(new MultiThreadServer(sock)).start();
}
}
public void run() {
try {
PrintStream pstream = new PrintStream
(csocket.getOutputStream());
for (int i = 100; i >= 0; i--) {
pstream.println(i +
" bottles of beer on the wall");
}
pstream.close();
csocket.close();
}
catch (IOException e) {
System.out.println(e);
}
}
}
希望大神能详细解释一下!谢谢!

这一段代码是Java多线程和Socket通信相关的,大致一看跟一般的聊天室demo有些相似
建议您先学习一下Java多线程的基础知识
了解一下Runable接口和Thread 类,以及了解相关Socket初步知识

import java.io.IOException;
import java.io.PrintStream;
import java.net.ServerSocket;
import java.net.Socket;

/**
一个多线程的类,实现了Runable接口
*/
public class MultiThreadServer implements Runnable {
   Socket csocket;

   /**
   构造器,传入一个Sock对象
   */
   MultiThreadServer(Socket csocket) {
      this.csocket = csocket;
   }

   /**
    主函数入口
   */
   public static void main(String args[]) 
   throws Exception {
  //实例化一个socket对象
      ServerSocket ssock = new ServerSocket(1234);
      System.out.println("Listening");
      while (true) {
         Socket sock = ssock.accept();
         System.out.println("Connected");
 //启动线程
         new Thread(new MultiThreadServer(sock)).start();
      }
   }

   /**
    线程的run方法
   */
   public void run() {
      try {
         PrintStream pstream = new PrintStream
         (csocket.getOutputStream());
         for (int i = 100; i >= 0; i--) {
            pstream.println(i + 
            " bottles of beer on the wall");
         }
         pstream.close();
         csocket.close();
      }
      catch (IOException e) {
         System.out.println(e);
      }
   }
}

温馨提示:答案为网友推荐,仅供参考
第1个回答  2016-06-01
是一个可以同时响应多个客户端请求的服务端socket通信程序,它的功能是每当一个客户端连接到该服务器,服务器就向客户端返回“(100-0)bottles of beer on the wall”的信息本回答被网友采纳
第2个回答  2016-06-01
socket连接的服务端 部分 端口号是1234
相似回答