老熟女激烈的高潮_日韩一级黄色录像_亚洲1区2区3区视频_精品少妇一区二区三区在线播放_国产欧美日产久久_午夜福利精品导航凹凸

重慶分公司,新征程啟航

為企業提供網站建設、域名注冊、服務器等服務

javaSocket多線程服務器源代碼是怎樣的

今天就跟大家聊聊有關java Socket多線程服務器源代碼是怎樣的,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結了以下內容,希望大家根據這篇文章可以有所收獲。

創新互聯專注于懷來企業網站建設,響應式網站開發,商城建設。懷來網站建設公司,為懷來等地區提供建站服務。全流程按需規劃網站,專業設計,全程項目跟蹤,創新互聯專業和態度為您提供的服務

java Socket多線程需要我們不斷的學習,在學習的時候我們就會發現在服務器的配置上有不少的問題。下面我們就來看看服務器源代碼是如何編寫的,以便大家更好的使用java Socket多線程。

  1. import java.io.BufferedReader;   

  2. import java.io.IOException;   

  3. import java.io.InputStreamReader;   

  4. import java.io.PrintWriter;   

  5. import java.net.ServerSocket;   

  6. import java.net.Socket;   

  7. import java.util.ArrayList;   

  8. import java.util.List;   

  9. import java.util.concurrent.ExecutorService;   

  10. import java.util.concurrent.Executors;   

  11. public class ChatServer {   

  12. private static final int PORT = 1234; // 端口號   

  13. private static List list = new ArrayList(); 
    // 保存連接對象   

  14. private ExecutorService exec;   

  15. private ServerSocket server;   

  16. public static void main(String[] args) {   

  17. new ChatServer();   

  18. }   

  19. public ChatServer() {   

  20. try {   

  21. server = new ServerSocket(PORT);   

  22. exec = Executors.newCachedThreadPool();   

  23. System.out.println(“服務器已啟動!”);   

  24. Socket client = null;   

  25. while (true) {   

  26. client = server.accept(); // 接收客戶連接   

  27. list.add(client);   

  28. exec.execute(new ChatTask(client));   

  29. }   

  30. } catch (IOException e) {   

  31. e.printStackTrace();   

  32. }   

  33. }   

  34. static class ChatTask implements Runnable {   

  35. private Socket socket;   

  36. private BufferedReader br;   

  37. private PrintWriter pw;   

  38. private String msg;   

  39. public ChatTask(Socket socket) throws IOException {   

  40. this.socket = socket;   

  41. br = new BufferedReader(new InputStreamReader(socket   

  42. .getInputStream()));   

  43. msg = “【” + this.socket.getInetAddress() + “】
    進入聊天室!當前聊天室有【”   

  44. + list.size() + “】人”;   

  45. sendMessage();   

  46. }   

  47. public void run() {   

  48. try {   

  49. while ((msg = br.readLine()) != null) {   

  50. if (msg.trim().equals(“bye”)) {   

  51. list.remove(socket);   

  52. br.close();   

  53. pw.close();   

  54. msg = “【” + socket.getInetAddress() + “】
    離開聊天室!當前聊天室有【”   

  55. + list.size() + “】人”;   

  56. socket.close();   

  57. sendMessage();   

  58. break;   

  59. } else {   

  60. msg = “【” + socket.getInetAddress() + “】說:” + msg;   

  61. sendMessage();   

  62. }   

  63. }   

  64. } catch (IOException e) {   

  65. e.printStackTrace();   

  66. }   

  67. }   

  68. /**   

  69. * 群發消息給聊天室的所有人   

  70. */   

  71. private void sendMessage() throws IOException {   

  72. System.out.println(msg);   

  73. for (Socket client : list) {   

  74. pw = new PrintWriter(client.getOutputStream(), true);   

  75. pw.println(msg);   

  76. }   

  77. }   

  78. }   

  79. }   

  80. import java.io.BufferedReader;   

  81. import java.io.InputStreamReader;   

  82. import java.io.PrintWriter;   

  83. import java.net.Socket;   

  84. import java.util.concurrent.ExecutorService;   

  85. import java.util.concurrent.Executors;   

  86. public class ChatClient {   

  87. private static final int PORT = 7891;   

  88. private static ExecutorService exec = 
    Executors.newCachedThreadPool();   

  89. public static void main(String[] args) throws Exception {   

  90. new ChatClient();   

  91. }   

  92. public ChatClient() {   

  93. try {   

  94. Socket socket = new Socket(“221.130.165.41″, PORT);   

  95. exec.execute(new Sender(socket));   

  96. System.out.println(“【” + socket.getInetAddress() + “】
    您好,歡迎來到簡易聊天室!”);   

  97. BufferedReader br = new BufferedReader(new 
    InputStreamReader(socket.getInputStream()));   

  98. String msg;   

  99. while ((msg = br.readLine()) != null) {   

  100. System.out.println(“收到—->”+msg);   

  101. }   

  102. } catch (Exception e) {   

  103. }   

  104. }  

看完上述內容,你們對java Socket多線程服務器源代碼是怎樣的有進一步的了解嗎?如果還想了解更多知識或者相關內容,請關注創新互聯行業資訊頻道,感謝大家的支持。


網站欄目:javaSocket多線程服務器源代碼是怎樣的
分享路徑:http://www.xueling.net.cn/article/jisghd.html

其他資訊

在線咨詢
服務熱線
服務熱線:028-86922220
TOP
主站蜘蛛池模板: 亚洲黄色精品 | 91色老久久精品偷偷蜜臀 | 黄色小说视频网站 | 日日操影院 | 国产精品久久久影视青草 | 国产伦子沙发午休系列资源曝光 | 日本高清在线播放 | 成人蜜桃av| 夜夜爽妓女8888888视频 | av在线一区二区三区四区 | 总裁与秘书高h肉 | 亚洲图片欧美小说 | 免费看黄色大片 | 丰满岳跪趴高撅肥臀尤物在线观看 | 日本专区在线 | 99精品1区2区| 成人性生交片无码免费看 | 日产精品久久久久久久性色91 | 草草在线免费视频 | 国产精品久久久久久久久久久久人四虎 | 免费视频一区 | 性色欲网站人妻丰满中文久久不卡 | 久久精品影视大全 | 视频一区视频二区欧美 | 亚洲情视频 | 亚洲国产一区二区波多野结衣 | 稀缺小u女呦精品呦免费 | 久久成人国产视频 | 国产va免费精品高清在线 | 大地资源中文第三页 | 久久色亚洲 | 日本一卡二卡3卡四卡网站精品 | 中文二区 | 亚洲第一页综合图片自拍 | 成年黄页网站大全免费 | 日韩视频一区二区在线观看 | 日韩涩图| 一本大道av| 日韩色道 | 婷婷五月六月综合缴情 | 国产极品99热在线播放69 |