国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
socket 多線程處理
Java代碼
import java.io.IOException;   import java.net.InetAddress;   import java.net.Socket;      public class ServerSocket {          public static void main(String[] args) {           beginSocket();       }              public static void beginSocket(){           try {               java.net.ServerSocket serverSocket=new java.net.ServerSocket(3456);               InetAddress inta=serverSocket.getInetAddress().getLocalHost();               System.out.println(inta.getHostAddress());               while(true){                   Socket socket=serverSocket.accept();                   new HelloMessage(socket);               }           } catch (IOException e) {               e.printStackTrace();           }       }   }
import java.io.IOException;import java.net.InetAddress;import java.net.Socket;public class ServerSocket {public static void main(String[] args) {beginSocket();}public static void beginSocket(){try {java.net.ServerSocket serverSocket=new java.net.ServerSocket(3456);InetAddress inta=serverSocket.getInetAddress().getLocalHost();System.out.println(inta.getHostAddress());while(true){Socket socket=serverSocket.accept();new HelloMessage(socket);}} catch (IOException e) {e.printStackTrace();}}}
為了提高并發(fā)時的處理效率,對于每個請求,系統(tǒng)都新建一個線程處理。
Java代碼
import java.io.BufferedReader;   import java.io.InputStreamReader;   import java.io.PrintWriter;   import java.net.Socket;      public class HelloMessage extends Thread {       private Socket socket_ = null;       public HelloMessage(Socket socket) {           this.socket_ = socket;           this.start();       }          public void run() {           try {               BufferedReader bReader = new BufferedReader(new InputStreamReader(                       this.socket_.getInputStream()));               PrintWriter pWriter = new PrintWriter(this.socket_                       .getOutputStream());               String requestStr = bReader.readLine();               if (requestStr != null && !"".equals(requestStr)) {                   if (requestStr.equals("java")) {                       pWriter.println("your write is java");                   }                   if (requestStr.equals(".net")) {                       pWriter.println("your write is .net");                   }                   if (requestStr.equals("php")) {                       pWriter.println("your write is php");                   }                   if (requestStr.equals("end")) {                       pWriter.println("your write is end");                              }else{                       pWriter.println("your write is other");                   }               }else{                   pWriter.println("your write is null");               }               pWriter.flush();               pWriter.close();               bReader.close();               this.socket_.close();           } catch (Exception e) {               e.printStackTrace();           }          }   }
import java.io.BufferedReader;import java.io.InputStreamReader;import java.io.PrintWriter;import java.net.Socket;public class HelloMessage extends Thread {private Socket socket_ = null;public HelloMessage(Socket socket) {this.socket_ = socket;this.start();}public void run() {try {BufferedReader bReader = new BufferedReader(new InputStreamReader(this.socket_.getInputStream()));PrintWriter pWriter = new PrintWriter(this.socket_.getOutputStream());String requestStr = bReader.readLine();if (requestStr != null && !"".equals(requestStr)) {if (requestStr.equals("java")) {pWriter.println("your write is java");}if (requestStr.equals(".net")) {pWriter.println("your write is .net");}if (requestStr.equals("php")) {pWriter.println("your write is php");}if (requestStr.equals("end")) {pWriter.println("your write is end");}else{pWriter.println("your write is other");}}else{pWriter.println("your write is null");}pWriter.flush();pWriter.close();bReader.close();this.socket_.close();} catch (Exception e) {e.printStackTrace();}}}
然后是客戶端的代碼。
Java代碼
import java.io.BufferedReader;   import java.io.IOException;   import java.io.InputStreamReader;   import java.io.PrintWriter;   import java.net.Socket;   import java.net.UnknownHostException;      public class ClientSocket {       public static void main(String[] args) {           clientRequest();       }       private static void clientRequest() {           try {               while (true) {                   Socket clientSocket = new Socket("172.168.4.105", 3456);                   BufferedReader bReader = new BufferedReader(new InputStreamReader(                           System.in));                   System.out.println("please input java or .net or php or end");                   String strLine = bReader.readLine();                   if (strLine != null && !"".equals(strLine)) {                       PrintWriter pWriter = new PrintWriter(clientSocket                               .getOutputStream(), true);                       pWriter.println(strLine);                       BufferedReader br = new BufferedReader(                               new InputStreamReader(clientSocket.getInputStream()));                       String strResult = br.readLine();                       System.out.println(strResult);                                              pWriter.flush();                       pWriter.close();                       clientSocket.close();                   }               }           } catch (UnknownHostException e) {               e.printStackTrace();           } catch (IOException e) {               e.printStackTrace();           }       }   }
import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.io.PrintWriter;import java.net.Socket;import java.net.UnknownHostException;public class ClientSocket {public static void main(String[] args) {clientRequest();}private static void clientRequest() {try {while (true) {Socket clientSocket = new Socket("172.168.4.105", 3456);BufferedReader bReader = new BufferedReader(new InputStreamReader(System.in));System.out.println("please input java or .net or php or end");String strLine = bReader.readLine();if (strLine != null && !"".equals(strLine)) {PrintWriter pWriter = new PrintWriter(clientSocket.getOutputStream(), true);pWriter.println(strLine);BufferedReader br = new BufferedReader(new InputStreamReader(clientSocket.getInputStream()));String strResult = br.readLine();System.out.println(strResult);pWriter.flush();pWriter.close();clientSocket.close();}}} catch (UnknownHostException e) {e.printStackTrace();} catch (IOException e) {e.printStackTrace();}}}
這樣一個簡單的TCP,Socket編程的原型就成了。簡單介紹下:
幾個比較重要的API
.Accept方法用于產(chǎn)生"阻塞",直到接受到一個連接,并且返回一個客戶端的Socket對象實例。
.getInputStream方法獲得網(wǎng)絡(luò)連接輸入,同時返回一個IutputStream對象實例,。
.getOutputStream方法連接的另一端將得到輸入,同時返回一個OutputStream對象實例。
本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
java socket 實現(xiàn)服務(wù)端與客戶端
應(yīng)聘Java筆試時可能出現(xiàn)問題及其答案 (二)
淺出Java Socket 編程
java socket編程指南
基于Tcp協(xié)議的簡單Socket通信實例(JAVA)
Socket 實現(xiàn)同一網(wǎng)絡(luò)下的實時通信
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服