Java Socket线程的设计原理介绍

欢迎进入Java社区论坛,与200万技术人员互动交流 >>进入

  65.//— CreateServerThread

  66.class CreateServerThread extends Thread

  67.{

  68.private Socket client;

  69.private BufferedReader in;

  70.private PrintWriter out;

  71.private String Username;

  72.public CreateServerThread(Socket s) throws IOException

  73.{

  74.client = s;

  75.in = new BufferedReader(new InputStreamReader(client.getInputStream()));

  76.out = new PrintWriter(client.getOutputStream(), true);

  77.out.println(“— Welcome to this chatroom —“);

  78.out.println(“Input your nickname:”);

  79.start();

  80.}

  81.public void sendMessage(String msg)

  82.{

  83.out.println(msg);

  84.}

  85.public void run()

  86.{

  87.try

  88.{

  89.int flag = 0;

  90.Thread_Counter++;

  91.String line = in.readLine();

  92.while (!line.equals(“bye”))

  93.{

  94.if (line.equals(“l”))

  95.{

  96.out.println(listOnlineUsers());

  97.line = in.readLine();

  98.continue;

  99.}

  100.if (flag++ == 0)

  101.{

  102.Username = line;

  103.User_List.add(Username);

  104.out.println(listOnlineUsers());

  105.Threader.add(this);

  106.pushMessage(“[< ” + Username + ” come on in >]”);

  107.}

  108.else

  109.{

  110.pushMessage(“<” + Username + “>” + line);

  111.}

  112.line = in.readLine();

  113.}

  114.out.println(“— See you, bye! —“);

  115.client.close();

  116.}

  117.catch (IOException e)

  118.{}

  119.finally

  120.{

  121.try

  122.{

  123.client.close();

  124.}

  125.catch (IOException e)

  126.{}

  127.Thread_Counter–;

  128.Threader.remove(this);

  129.User_List.remove(Username);

  130.pushMessage(“[< ” + Username + ” left>]”);

  131.}

  132.}

  133.private String listOnlineUsers()

  134.{

  135.String s =”-+- Online list -+-1512″;

  136.for (int i = 0; i < User_List.size(); i++)

  137.{

  138.s += “[” + User_List.get(i) + “]1512”;

  139.}

  140.s += “-+———————+-“;

  141.return s;

  142.}

  143.private void pushMessage(String msg)

  144.{

  145.Message_Array.addLast(msg);

  146.isClear = false;

  147.}

  148.}

  149.}

  以上就是对Java Socket线程的详细介绍。这就是程序运行后,多用户登陆并且输入信息后的屏幕。实现了信息的实时广播。用户输入”l”就可以列出在线人员表。

[1][2]

摘抄美文4、承诺是一件美好的事情,但美好的东西往往不会变为现实。

Java Socket线程的设计原理介绍

相关文章:

你感兴趣的文章:

标签云: