溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Java 中怎么共享Socket會話

發(fā)布時間:2021-07-01 16:54:20 來源:億速云 閱讀:342 作者:Leah 欄目:編程語言

本篇文章給大家分享的是有關(guān)Java 中怎么共享Socket會話,小編覺得挺實用的,因此分享給大家學(xué)習(xí),希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。

Java Socket會話一直在不斷的使用,相關(guān)的問題需要不斷的代碼中找到答案。在下面的介紹中尼會詳細(xì)的看看有關(guān)的代碼。希望大家有所收獲。在實際的網(wǎng)絡(luò)環(huán)境里,同一時間只對一個用戶服務(wù)是不可行的。

一個優(yōu)秀的網(wǎng)絡(luò)服務(wù)程序除了能處理用戶的輸入信息,還必須能夠同時響應(yīng)多個客戶端的連接請求。在Java Socket會話中,實現(xiàn)以上功能特點是非常容易的。

設(shè)計原理:

主程序監(jiān)聽一端口,等待客戶接入;同時構(gòu)造一個線程類,準(zhǔn)備接管會話。當(dāng)一個Java Socket會話產(chǎn)生后,將這個會話交給線程處理,然后主程序繼續(xù)監(jiān)聽。運用Thread類或Runnable接口來實現(xiàn)是不錯的辦法。

{實現(xiàn)消息共享}

  1. import java.io.*;  

  2. import java.net.*;  

  3. public class Server extends ServerSocket  

  4. {  

  5. private static final int SERVER_PORT = 10000;  

  6. public Server() throws IOException  

  7. {  

  8. super(SERVER_PORT);  

  9. try  

  10. {  

  11. while (true)  

  12. {  

  13. Socket socket = accept();  

  14. new CreateServerThread(socket);  

  15. }  

  16. }  

  17. catch (IOException e)  

  18. {}  

  19. finally  

  20. {  

  21. close();  

  22. }  

  23. }  

  24. //--- CreateServerThread  

  25. class CreateServerThread extends Thread  

  26. {  

  27. private Socket client;  

  28. private BufferedReader in;  

  29. private PrintWriter out;  

  30. public CreateServerThread(Socket s) throws IOException  

  31. {  

  32. client = s;  

  33. in = new BufferedReader(new InputStreamReader(client.
    getInputStream(), "GB2312"));  

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

  35. out.println("--- Welcome ---");  

  36. start();  

  37. }  

  38. public void run()  

  39. {  

  40. try  

  41. {  

  42. String line = in.readLine();  

  43. while (!line.equals("bye"))  

  44. {  

  45. String msg = createMessage(line);  

  46. out.println(msg);  

  47. line = in.readLine();  

  48. }  

  49. out.println("--- See you, bye! ---");  

  50. client.close();  

  51. }  

  52. catch (IOException e)  

  53. {}  

  54. }  

  55. private String createMessage(String line)  

  56. {  

  57. xxxxxxxxx;  

  58. }  

  59. }  

  60. public static void main(String[] args) throws 
    IOException  

  61. {  

  62. new Server();  

  63. }  

以上就是Java 中怎么共享Socket會話,小編相信有部分知識點可能是我們?nèi)粘9ぷ鲿姷交蛴玫降?。希望你能通過這篇文章學(xué)到更多知識。更多詳情敬請關(guān)注億速云行業(yè)資訊頻道。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI