<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                企業??AI智能體構建引擎,智能編排和調試,一鍵部署,支持知識庫和私有化部署方案 廣告
                ## 通信步驟 ### 服務器端 1. 創建ServerSocket對象,綁定監聽端口 2. 通過accept()方法監聽客戶端請求 3. 連接建立后,通過輸入流讀取客戶端發送的請求信息 4. 通過輸出流向客戶端發送響應信息 5. 關閉相關資源 ~~~java public class Server { /** * 基于TCP協議的Socket通信,實現用戶登陸 服務器端 * * @param args */ public static void main(String[] args) { try { // 1.創建一個服務器端Socket,即ServerSocket,指定綁定的端口,并監聽此端口 ServerSocket serverSocket = new ServerSocket(8886); // 2.調用accept()方法開始監聽,等待客戶端的連接 Socket socket = serverSocket.accept(); // 3.獲器輸入流,并讀取客戶端信息 InputStream is = socket.getInputStream(); InputStreamReader isr = new InputStreamReader(is); BufferedReader br = new BufferedReader(isr); String info = null; while ((info = br.readLine()) != null) { // 循環讀取客戶端的信息 System.out.println("我是服務器,客戶端說:" + info); } socket.shutdownInput();// 關閉輸入流 //4.獲取輸出流,響應客戶端的請求 OutputStream os = socket.getOutputStream(); PrintWriter pw = new PrintWriter(os); pw.write("歡迎你"); pw.flush();//調用flush()方法將緩沖輸出 // 5.關閉資源 os.close(); pw.close(); br.close(); isr.close(); is.close(); socket.close(); serverSocket.close(); } catch (IOException e) { e.printStackTrace(); } } } ~~~ --- ### 客戶端 1. 創建Socket對象,指名需要連接的服務器的地址和端口號 2. 連接建立后,通過輸出流向服務器端發送請求信息 3. 通過輸入流獲取服務器響應的信息 4. 關閉相關資源 ~~~java public class Client { /**客戶端 * @param args */ public static void main(String[] args) { try { //1、創建客戶端Socket,指定服務器地址和端口 Socket socket = new Socket("localhost",8886); //2、獲取輸出流,向服務端發送信息 OutputStream os = socket.getOutputStream();//字節輸出流 PrintWriter pw = new PrintWriter(os);//將輸出流包裝為打印流 pw.write("用戶名:admin;密碼:123"); pw.flush(); socket.shutdownOutput();//關閉輸出流 //3.獲取輸入流,并讀取服務器端的響應信息 InputStream is= socket.getInputStream(); BufferedReader br = new BufferedReader(new InputStreamReader(is)); String info = null; while ((info = br.readLine()) != null) { // 循環讀取客戶端的信息 System.out.println("我是客戶端,服務端說:" + info); } //4.關閉資源 br.close(); is.close(); pw.close(); os.close(); socket.close(); } catch (UnknownHostException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } } ~~~
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看