<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      功能:客戶端發(fā)送一句話到服務(wù)器:(TCP)

      功能:客戶端發(fā)送一句話到服務(wù)器:(單向通信)(TCP)

      客戶端:

      package com.gao.Project.pro3;
      
      import java.io.DataOutputStream;
      import java.io.IOException;
      import java.io.OutputStream;
      import java.net.Socket;
      
      public class TestClient {//客戶端
          public static void main(String[] args) throws IOException {
              //1.創(chuàng)建套接字:指定服務(wù)器的IP和端口號
              Socket s = new Socket("192.168.2.142",8888);
              //對于程序員來說,向外發(fā)送數(shù)據(jù)  感受--->利用輸出流
              OutputStream os = s.getOutputStream();
              DataOutputStream dos = new DataOutputStream(os);
              //利用這個(gè)OutputStream就可以向外發(fā)送數(shù)據(jù)了,但是沒有直接發(fā)送String 的方法
              //所以我們又在OutputStream外面套了一個(gè)處理流DataOutputStream
              dos.writeUTF("你好");
              //3.關(guān)閉流  +   關(guān)閉網(wǎng)絡(luò)資源:
              dos.close();
              os.close();
              s.close();
      
          }
      }
      
      

      服務(wù)器:

      package com.gao.Project.pro3;
      
      import java.io.DataInputStream;
      import java.io.DataOutputStream;
      import java.io.IOException;
      import java.io.InputStream;
      import java.net.ServerSocket;
      import java.net.Socket;
      
      public class TestServer {//服務(wù)器
      
          public static void main(String[] args) throws IOException {
              //1.創(chuàng)建套接字:指定服務(wù)器的端口號
              ServerSocket ss = new ServerSocket(8888);
              //2.等著客戶端發(fā)來的信息:
              Socket s = ss.accept();//阻塞方法:等待接收客戶端的數(shù)據(jù),什么時(shí)候收到數(shù)據(jù),什么時(shí)候程序繼續(xù)向下執(zhí)行
      //accept()返回值為一個(gè)Socket,這個(gè)Socket其實(shí)就是客戶端的Socket
              //接到這個(gè)Socket以后,客戶端和服務(wù)器才真正產(chǎn)生了連接,才真正可以通信了
              //3.感受到的操作流:
              InputStream is = s.getInputStream();
              DataInputStream dis = new DataInputStream(is);
              //4.讀取客戶端發(fā)來的數(shù)據(jù)
              String str = dis.readUTF();
              System.out.println("客戶端發(fā)來的數(shù)據(jù)為"+str);
      
              //5.關(guān)閉流+關(guān)閉網(wǎng)絡(luò)資源:
              dis.close();
              is.close();
              s.close();
              ss.close();
          }
      }
      
      

      測試:

      (1)先開服務(wù)器,再開啟啟客戶端

      (2)先開客戶端,就會出錯(cuò)

      功能:服務(wù)器端接收完客戶端發(fā)來的數(shù)據(jù),再向客戶端輸出一句話:(雙向通信)(TCP)

      服務(wù)器:

      package com.gao.Project.pro3;
      
      import java.io.*;
      import java.net.ServerSocket;
      import java.net.Socket;
      
      public class TestServer {//服務(wù)器
      
          public static void main(String[] args) throws IOException {
              //1.創(chuàng)建套接字:指定服務(wù)器的端口號
              ServerSocket ss = new ServerSocket(8888);
              //2.等著客戶端發(fā)來的信息:
              Socket s = ss.accept();//阻塞方法:等待接收客戶端的數(shù)據(jù),什么時(shí)候收到數(shù)據(jù),什么時(shí)候程序繼續(xù)向下執(zhí)行
      //accept()返回值為一個(gè)Socket,這個(gè)Socket其實(shí)就是客戶端的Socket
              //接到這個(gè)Socket以后,客戶端和服務(wù)器才真正產(chǎn)生了連接,才真正可以通信了
              //3.感受到的操作流:
              InputStream is = s.getInputStream();
              DataInputStream dis = new DataInputStream(is);
              //4.讀取客戶端發(fā)來的數(shù)據(jù)
              String str = dis.readUTF();
              System.out.println("客戶端發(fā)來的數(shù)據(jù)為"+str);
      
              //向客戶端輸出一句話:---->操作流---->輸出流
              OutputStream os = s.getOutputStream();
              DataOutputStream dos =new DataOutputStream(os);
              dos.writeUTF("你好,我是服務(wù)器端,我接收到你的請求了");
      
              //5.關(guān)閉流+關(guān)閉網(wǎng)絡(luò)資源:
              dis.close();
              is.close();
              s.close();
              ss.close();
          }
      }
      
      

      客戶端:

      package com.gao.Project.pro3;
      
      import java.io.*;
      import java.net.Socket;
      
      public class TestClient {//客戶端
          public static void main(String[] args) throws IOException {
              //1.創(chuàng)建套接字:指定服務(wù)器的IP和端口號
              Socket s = new Socket("192.168.2.142",8888);
              //對于程序員來說,向外發(fā)送數(shù)據(jù)  感受--->利用輸出流
              OutputStream os = s.getOutputStream();
              DataOutputStream dos = new DataOutputStream(os);
              //利用這個(gè)OutputStream就可以向外發(fā)送數(shù)據(jù)了,但是沒有直接發(fā)送String 的方法
              //所以我們又在OutputStream外面套了一個(gè)處理流DataOutputStream
              dos.writeUTF("你好");
      
              //接收服務(wù)器端的回話--->利用輸入流:
              InputStream is = s.getInputStream();
              DataInputStream dis = new DataInputStream(is);
              String str = dis.readUTF();
              System.out.println("服務(wù)器對我說"+str);
              //3.關(guān)閉流  +   關(guān)閉網(wǎng)絡(luò)資源:
              dis.close();
              is.close();
              dos.close();
              os.close();
              s.close();
      
          }
      }
      
      
      posted @ 2022-09-20 21:21  進(jìn)步+吃飯  閱讀(55)  評論(0)    收藏  舉報(bào)
      主站蜘蛛池模板: 99riav国产精品视频| 亚洲欧洲日产国码高潮αv| 精品人妻系列无码人妻免费视频| 一本色道久久—综合亚洲| 国产精品毛片在线完整版| 国产精品一区二区久久精品无码| 最新国产精品中文字幕| 国产av丝袜熟女一二三| 日本高清中文字幕免费一区二区| 国产播放91色在线观看| 亚洲欧美牲交| 好紧好爽午夜视频| 免费无码va一区二区三区| 日韩一区二区在线看精品| 99久热在线精品视频| 国产永久免费高清在线| 国产成人精品成人a在线观看| 久久99国内精品自在现线| 亚洲V天堂V手机在线| 国产一区二区三区小说| 亚洲欧美成人一区二区在线电影| 无码日韩av一区二区三区| 午夜家庭影院| 日韩乱码视频一区二区三区 | 色av专区无码影音先锋| 成人精品日韩专区在线观看| 亚洲国产成人AⅤ片在线观看| 免费AV片在线观看网址| 人妻在线中文字幕| 又黄又无遮挡AAAAA毛片| 人妻少妇精品视频专区| 成人一区二区人妻不卡视频| 麻豆成人精品国产免费| 99久久精品国产免费看| 精品国产不卡在线观看免费| 久热久热免费在线观视频| 最新亚洲人成网站在线观看| 国产精品久久久久久亚洲色| 国产一级区二级区三级区| 青青草无码免费一二三区| 无码熟妇人妻av在线电影|