日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢(xún)
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷(xiāo)解決方案
JavaSocket共享的設(shè)計(jì)原理深層透析

Java Socket共享在使用的時(shí)候有很多的問(wèn)題需要我們解決,其實(shí)有不少的問(wèn)題都是在源代碼中可以找到答案的,下面我們就來(lái)看看如何才能更好的使用有關(guān)的Java Socket共享服務(wù)。

成都創(chuàng)新互聯(lián)來(lái)電聯(lián)系:18980820575,為您提供成都網(wǎng)站建設(shè)網(wǎng)頁(yè)設(shè)計(jì)及定制高端網(wǎng)站建設(shè)服務(wù),成都創(chuàng)新互聯(lián)網(wǎng)頁(yè)制作領(lǐng)域10多年,包括成都高空作業(yè)車(chē)租賃等多個(gè)領(lǐng)域擁有豐富的網(wǎng)站設(shè)計(jì)經(jīng)驗(yàn),選擇成都創(chuàng)新互聯(lián),為企業(yè)錦上添花!

在實(shí)際的網(wǎng)絡(luò)環(huán)境里,同一時(shí)間只對(duì)一個(gè)用戶服務(wù)是不可行的。一個(gè)優(yōu)秀的網(wǎng)絡(luò)服務(wù)程序除了能處理用戶的輸入信息,還必須能夠同時(shí)響應(yīng)多個(gè)客戶端的連接請(qǐng)求。在Java Socket共享中,實(shí)現(xiàn)以上功能特點(diǎn)是非常容易的。

Java Socket共享的設(shè)計(jì)原理:

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

{實(shí)現(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. }   
  64. }  

這個(gè)程序監(jiān)聽(tīng)10000端口,并將接入交給CreateServerThread線程運(yùn)行。CreateServerThread線程接受輸入,并將輸入回應(yīng)客戶,直到客戶輸入"bye",線程結(jié)束。我們可以在createMessage方法中,對(duì)輸入進(jìn)行處理,并產(chǎn)生結(jié)果,然后把結(jié)果返回給客戶。
 

【編輯推薦】

  1. Java Socket通訊客戶端代碼編寫(xiě)教程
  2. Java Socket通訊實(shí)際操作手冊(cè)
  3. java Socket多線程客戶端配置方案
  4. java Socket多線程服務(wù)器源代碼介紹
  5. Java Socket編程關(guān)鍵代碼詳解

分享文章:JavaSocket共享的設(shè)計(jì)原理深層透析
當(dāng)前鏈接:http://www.dlmjj.cn/article/djghgih.html