日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

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

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
JavaSocket服務(wù)器關(guān)鍵代碼配置手冊

Java Socket服務(wù)器在很多人使用的時候會出現(xiàn)或多或少的問題,其實在關(guān)鍵代碼中有不少的問題需要我們處理,下面我們就看看如何才能更好的使用Java Socket服務(wù)器的相關(guān)代碼。

成都創(chuàng)新互聯(lián)是一家專注于網(wǎng)站制作、成都網(wǎng)站建設(shè)與策劃設(shè)計,武勝網(wǎng)站建設(shè)哪家好?成都創(chuàng)新互聯(lián)做網(wǎng)站,專注于網(wǎng)站建設(shè)10多年,網(wǎng)設(shè)計領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:武勝等地區(qū)。武勝做網(wǎng)站價格咨詢:13518219792

Procedure2相比procedure1加入了多線程的部分,一個線程負責(zé)專門去接受消息,另一個負責(zé)發(fā)送消息。當(dāng)服務(wù)器端負責(zé)接收的線程因為readUTF()被阻塞不能發(fā)送消息時,負責(zé)發(fā)送消息的線程讓服務(wù)器端也能發(fā)送消息。同樣的原理,客戶端也如此。

服務(wù)器端加入的關(guān)鍵代碼如下:

 
 
 
  1. class ServerReadThread extends Thread{
  2. private DataInputStream dis;
  3. public ServerReadThread(DataInputStream dis){
  4. this.dis = dis;
  5. }
  6. public void run(){
  7. String info;
  8. try{
  9. while(true){
  10. info = dis.readUTF();
  11. System.out.println("客戶端說:" + info);
  12. if(info.equals("goodbye")){
  13. System.out.println("客戶端拜拜了!");
  14. System.exit(0);
  15. }
  16. }
  17. }catch(IOException e){
  18. e.printStackTrace();
  19. }
  20. }
  21. }
  22. class ServerWriteThread extends Thread{
  23. private DataOutputStream dos;
  24. private BufferedReader br;
  25. public ServerWriteThread(DataOutputStream dos,BufferedReader br){
  26. this.dos = dos;
  27. this.br = br;
  28. }
  29. public void run(){
  30. String info;
  31. try{
  32. while(true){
  33. info = br.readLine();
  34. dos.writeUTF(info);
  35. if(info.equals("bye")){
  36. System.exit(0);
  37. }
  38. }
  39. }catch(IOException e){
  40. e.printStackTrace();
  41. }
  42. }
  43. }

負責(zé)接受的類ServerReadThread繼承Thread,并構(gòu)造一個DataInputStream對象參數(shù)的構(gòu)造函數(shù),接收對方信息。負責(zé)發(fā)送的類ServerWriteThread繼承Thread,并構(gòu)造一個DataInputStream對象和BufferedRead對象的雙參數(shù)的構(gòu)造函數(shù),負責(zé)發(fā)送消息。new ServerReadThread(dis).start();new ServerWriteThread(dos,br).start();開啟兩個線程??蛻舳嗽砼c服務(wù)器端類似,就不做更詳細的講解。

思考:procedure2相比procedure1已經(jīng)實現(xiàn)了多線程聊天,雖只是運行在控制臺上,但麻雀雖小,五臟俱全,這已經(jīng)體現(xiàn)出了java Socket編程以及多線程的核心思想,此課程設(shè)計的目的已經(jīng)達到。Java Socket服務(wù)器為實現(xiàn)更加人性化的效果,我引入javaGUI的組件awt,與之相關(guān)的技術(shù)也就隨之引入了,比如基于事件的驅(qū)動,還有awt各個組件之間的調(diào)用。與此同時,代碼的分布和組織結(jié)構(gòu)都要做相應(yīng)的調(diào)整。


當(dāng)前文章:JavaSocket服務(wù)器關(guān)鍵代碼配置手冊
鏈接分享:http://www.5511xx.com/article/cdgisjg.html