<span id="mktg5"></span>

<i id="mktg5"><meter id="mktg5"></meter></i>

        <label id="mktg5"><meter id="mktg5"></meter></label>
        最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
        問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
        當前位置: 首頁 - 科技 - 知識百科 - 正文

        使用Java實現簡單的server/client回顯功能的方法介紹_基礎知識

        來源:懂視網 責編:小采 時間:2020-11-27 21:09:15
        文檔

        使用Java實現簡單的server/client回顯功能的方法介紹_基礎知識

        使用Java實現簡單的server/client回顯功能的方法介紹_基礎知識:Socket是指在一個特定編程模型下,進程間通信鏈路的端點。因為這個特定編程模型的流行,Socket這個名字在其他領域得到了復用,包括Java叫技術。 如果要建立連接,一臺機器必須運行一個進程來等待連接,而另一臺機器必須試圖到達第一臺機器。這個電話系統類似
        推薦度:
        導讀使用Java實現簡單的server/client回顯功能的方法介紹_基礎知識:Socket是指在一個特定編程模型下,進程間通信鏈路的端點。因為這個特定編程模型的流行,Socket這個名字在其他領域得到了復用,包括Java叫技術。 如果要建立連接,一臺機器必須運行一個進程來等待連接,而另一臺機器必須試圖到達第一臺機器。這個電話系統類似

        Socket是指在一個特定編程模型下,進程間通信鏈路的端點。因為這個特定編程模型的流行,Socket這個名字在其他領域得到了復用,包括Java叫技術。

        如果要建立連接,一臺機器必須運行一個進程來等待連接,而另一臺機器必須試圖到達第一臺機器。這個電話系統類似:一方必須發起呼叫,而另一方在此時必須等待電話呼叫。

        java網絡模型圖

        下面通過一個有“回顯”功能的服務器和客戶端來介紹應用java.net包編寫網絡應用程序。

        這個例子主要功能是服務器端的程序等待客戶的輸入,然后將讀取到的信息回顯給客戶端,同時在服務器端的控制臺輸出。而客戶端從控制臺接收信息后,向客戶端發送輸入,并接收服務器的回顯數據,然后顯示在控制臺。

        客戶端程序代碼如下:
        代碼如下:
        package com.javapp.ch11;
        import java.io.*;
        import java.net.*;
        /**
        * Description: 具有“回顯”功能的服務器端和客戶端程序
        */
        public class EchoClientDemo {
        // 服務器端的服務端口。
        public static final int SERVERPORT = 990;
        public static void main(String[] args) {
        try {
        // 建立連接套接字。
        Socket s = new Socket("localhost",SERVERPORT);
        System.out.println("socket = " + s);
        // 新建網絡連接的輸入流。
        BufferedReader in = new BufferedReader(new InputStreamReader(s
        .getInputStream()));
        // 新建網絡連接的自動刷新的輸出流。
        PrintWriter out = new PrintWriter(new BufferedWriter(
        new OutputStreamWriter(s.getOutputStream())),true);
        // 先使用System.in構造InputStreamReader,再構造BufferedReader。
        BufferedReader stdin = new BufferedReader(
        new InputStreamReader(System.in));
        System.out.println("Enter a string, Enter BYE to exit! ");
        while (true) {
        // 讀取從控制臺輸入的字符串,并向網絡連接輸出,即向服務器端發送數據。
        out.println(stdin.readLine());
        // 從網絡連接讀取一行,即接收服務器端的數據。
        String str = in.readLine();
        // 如果接收到的數據為空(如果直接按Enter,不是空數據),則退出循環,關閉連接。
        if (str == null) {
        break;
        }
        System.out.println(str);
        }
        s.close();
        } catch (IOException e) {
        System.err.println("IOException" + e.getMessage());
        }
        }
        }

        上面客戶端程序中。首先用java.net包中的Socket類建立一個連接套接字,其后應用的Socket對象的getInputStream方法從服務器接收數據,并且應用Socket對象的getOuputStream方法發送數據到服務器。創建完輸入輸出流,就可以像讀寫文件的方式來讀寫數據。

        支持多客戶端的“回顯”服務器端程序代碼如下:
        代碼如下:
        package com.javapp.ch11;
        import java.io.*;
        import java.net.*;
        /**
        * Description:支持多客戶端的“回顯”服務器端程序
        */
        public class EchoServerThreadDemo {
        // 服務器端的服務端口。
        public static final int SERVERPORT = 990;
        public static void main(String[] args) {
        try {
        // 已經連接上的客戶端的序號。
        int number = 1;
        // 建立服務器端傾聽套接字。
        ServerSocket s = new ServerSocket(SERVERPORT);
        System.out.println("Started: " + s);
        while (true) {
        // 等待并接收請求,建立連接套接字。
        Socket incoming = s.accept();
        System.out.println("Connection " + number + " accepted: ");
        System.out.println(incoming);
        // 啟動一個線程來進行服務器端和客戶端的數據傳輸。
        // 主程序繼續監聽是否有請求到來。
        Thread t = new EchoThread(incoming,number);
        t.start();
        number++;
        }
        } catch (IOException e) {
        System.err.println("IOException");
        }
        }
        }
        class EchoThread extends Thread {
        private Socket s;
        int n;
        public EchoThread(Socket incoming,int number) {
        s = incoming;
        n = number;
        }
        public void run() {
        try {
        // 新建網絡連接的輸入流。
        BufferedReader in = new BufferedReader(new InputStreamReader(s
        .getInputStream()));
        // 新建網絡連接的自動刷新的輸出流。
        PrintWriter out = new PrintWriter(new BufferedWriter(
        new OutputStreamWriter(s.getOutputStream())),true);
        System.out.println("Hello! Enter BYE to exit.");
        // 回顯客戶端的輸入。
        while (true) {
        // 從網絡連接讀取一行,即接收客戶端的數據。
        String line = in.readLine();
        // 如果接收到的數據為空(如果直接按Enter,不是空數據),則退出循環,關閉連接。
        if (line == null) {
        break;
        } else {
        if (line.trim().equals("BYE")) {
        System.out.println("The client " + n + " entered BYE!");
        System.out.println("Connection " + n + " will be closed!");
        break;
        }
        System.out.println("Echo " + n + ": " + line);
        // 向網絡連接輸出一行,即向客戶端發送數據。
        out.println("Echo " + n + ": " + line);
        }
        }
        // 關閉套接字。
        s.close();
        } catch (IOException e) {
        System.err.println("IOException");
        }
        }
        }

        在服務器端程序中,首先用java.net包中的ServerSocket類創建一個服務器端偵聽套接字。其后應用ServerSocket類的accept方法等待并接收用戶請求。當服務器每接收到一個連接請求后,就啟動一個線程來單獨處理服務器和客戶端的數據傳輸。服務器端數據的接收和發送與上面介紹的客戶端數據的發送和介紹相同。

        聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

        文檔

        使用Java實現簡單的server/client回顯功能的方法介紹_基礎知識

        使用Java實現簡單的server/client回顯功能的方法介紹_基礎知識:Socket是指在一個特定編程模型下,進程間通信鏈路的端點。因為這個特定編程模型的流行,Socket這個名字在其他領域得到了復用,包括Java叫技術。 如果要建立連接,一臺機器必須運行一個進程來等待連接,而另一臺機器必須試圖到達第一臺機器。這個電話系統類似
        推薦度:
        • 熱門焦點

        最新推薦

        猜你喜歡

        熱門推薦

        專題
        Top
        主站蜘蛛池模板: 美女黄网站人色视频免费| 亚洲AV无码久久精品成人| 青青青青青青久久久免费观看| 18女人腿打开无遮掩免费| 久久黄色免费网站| 日本免费人成网ww555在线| a级毛片高清免费视频| 中文毛片无遮挡高清免费| 亚洲精品视频免费| 十八禁在线观看视频播放免费| 你懂的网址免费国产| 三年片在线观看免费| 一区二区三区在线免费看| 午夜视频免费在线观看| 一区二区三区在线免费看| 国产成人精品免费视| 免费能直接在线观看黄的视频| AV免费网址在线观看| 狼友av永久网站免费观看| 国产不卡免费视频| 亚洲AV无码一区二三区 | 国产免费伦精品一区二区三区| 久久国产美女免费观看精品 | 国产亚洲高清在线精品不卡| 国产成人综合亚洲一区| 九九久久国产精品免费热6| 成人无码区免费A∨直播| 久久大香伊焦在人线免费| 国产电影午夜成年免费视频| 午夜影视在线免费观看| 四虎亚洲国产成人久久精品| 亚洲色成人WWW永久网站| 在线观看亚洲一区二区| 亚洲中文字幕精品久久| 三年片在线观看免费观看大全中国 | 免费国产怡红院在线观看| 久久亚洲av无码精品浪潮| 久久久久亚洲AV无码专区首| 亚洲免费电影网站| 美女被羞羞网站免费下载| 大地资源在线资源免费观看 |