国产成人精品18p,天天干成人网,无码专区狠狠躁天天躁,美女脱精光隐私扒开免费观看

Netty(二):BIO

發(fā)布時(shí)間:2021-08-01 00:20 來(lái)源:https://blog.51cto.com/bigdata 閱讀:191 作者:wx5ba7ab4695f27 欄目: 云計算 歡迎投稿:712375056

適用于較小且固定的架構 工作機制


3.連接建立后,如果當前線(xiàn)程無(wú)數據可讀,線(xiàn)程就卡在read操作上


對BIO編程流程的梳理
BIO 是傳統的java I/O編程,其相關(guān)的類(lèi)和接口在java.io

3. 客戶(hù)端發(fā)出請求后,先咨詢(xún)服務(wù)器是否有線(xiàn)程響應,如果沒(méi)有則會(huì )等待,或者被拒絕
實(shí)例 package com.zyd.bio; import java.io.InputStream; import java.net.ServerSocket; import java.net.Socket; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; public class BIOServer { public static void main(String[] args) throws Exception { //線(xiàn)程池機制 //思路 //1. 創(chuàng )建一個(gè)線(xiàn)程池 //2. 如果有客戶(hù)端連接,就創(chuàng )建一個(gè)線(xiàn)程,與之通訊(單獨寫(xiě)一個(gè)方法) ExecutorService newCachedThreadPool = Executors.newCachedThreadPool(); //創(chuàng )建ServerSocket ServerSocket serverSocket = new ServerSocket(6666); System.out.println("服務(wù)器啟動(dòng)了"); while (true) { System.out.println("線(xiàn)程信息id = " + Thread.currentThread().getId() + "名字 = " + Thread.currentThread().getName()); //監聽(tīng),等待客戶(hù)端連接 System.out.println("等待連接...."); final Socket socket = serverSocket.accept(); System.out.println("連接到一個(gè)客戶(hù)端"); //就創(chuàng )建一個(gè)線(xiàn)程,與之通訊(單獨寫(xiě)一個(gè)方法) newCachedThreadPool.execute(new Runnable() { public void run() {//我們重寫(xiě) //可以和客戶(hù)端通訊 handler(socket); } }); } } //編寫(xiě)一個(gè)handler方法,和客戶(hù)端通訊 public static void handler(Socket socket) { try { System.out.println("線(xiàn)程信息id = " + Thread.currentThread().getId() + "名字 = " + Thread.currentThread().getName()); byte[] bytes = new byte[1024]; //通過(guò)socket獲取輸入流 InputStream inputStream = socket.getInputStream(); //循環(huán)的讀取客戶(hù)端發(fā)送的數據 while (true) { System.out.println("線(xiàn)程信息id = " + Thread.currentThread().getId() + "名字 = " + Thread.currentThread().getName()); System.out.println("read...."); int read = inputStream.read(bytes); if (read != -1) { System.out.println(new String(bytes, 0, read));//輸出客戶(hù)端發(fā)送的數據 } else { break; } } } catch (Exception e) { e.printStackTrace(); } finally { System.out.println("關(guān)閉和client的連接"); try { socket.close(); } catch (Exception e) { e.printStackTrace(); } } } } 問(wèn)題分析

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng )、來(lái)自本網(wǎng)站內容采集于網(wǎng)絡(luò )互聯(lián)網(wǎng)轉載等其它媒體和分享為主,內容觀(guān)點(diǎn)不代表本網(wǎng)站立場(chǎng),如侵犯了原作者的版權,請告知一經(jīng)查實(shí),將立刻刪除涉嫌侵權內容,聯(lián)系我們QQ:712375056,同時(shí)歡迎投稿傳遞力量。

日本免费一区二区三区日本| 又白又肥的农村大肥臀老熟妇| 亚洲AV无码AV在线影院| JAPANESE人妻中文字幕| 爱做久久久久久| 又粗又黄又猛又爽大片免费|