91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Java如何實現TCP/IP協議的收發數據服務端

發布時間:2021-04-15 10:10:44 來源:億速云 閱讀:237 作者:小新 欄目:編程語言

小編給大家分享一下Java如何實現TCP/IP協議的收發數據服務端,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

功能如下:

Java如何實現TCP/IP協議的收發數據服務端

注:

只有服務端,沒有客戶端,測試時采用第三方軟件作為客戶端的。

收發數據目前能正常收發數據,只是中文的會變成亂碼顯示。

采用Thread類實現一個收發數據的線程。

服務端代碼:

import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.ServerSocket;
import java.net.Socket;

public class Server {
  //監聽端口
  private static final int PORT = 60020;

  public static void main(String[] args) throws IOException {
    ServerSocket serverSocket = null;
    Socket socket = null;
    try {
      //建立服務器的Socket,并設定一個監聽的端口PORT
      serverSocket = new ServerSocket(PORT);
      //由于需要進行循環監聽,因此獲取消息的操作應放在一個while大循環中
      while(true){
         try {
          //建立跟客戶端的連接
          socket = serverSocket.accept();
         } catch (Exception e) {
           System.out.println("建立與客戶端的連接出現異常");
           e.printStackTrace();
         }
         ServerThread thread = new ServerThread(socket);
         thread.start();
      }
    } catch (Exception e) {
      System.out.println("端口被占用");
      e.printStackTrace();
    }    
    finally {
      serverSocket.close();
    }
  }
}

//服務端線程類
//繼承Thread類的話,必須重寫run方法,在run方法中定義需要執行的任務。
class ServerThread extends Thread {
  private Socket socket ;
  InputStream inputStream;
  OutputStream outputStream;
  
  public ServerThread(Socket socket){
    this.socket=socket;
  }
  public void run(){
    try {
      while (true){
        //接收客戶端的消息并打印
        System.out.println(socket);
        inputStream=socket.getInputStream();
        byte[] bytes = new byte[1024];
        inputStream.read(bytes);
        String string = new String(bytes);
        System.out.println(string);  
        
        //向客戶端發送消息
        outputStream = socket.getOutputStream();
        outputStream.write("OK".getBytes());
        System.out.println("OK");
        
      }
    } catch (Exception e) {
      System.out.println("客戶端主動斷開連接了");
      //e.printStackTrace();
    }
    //操作結束,關閉socket
    try{
      socket.close(); 
    }catch(IOException e){
      System.out.println("關閉連接出現異常");  
      e.printStackTrace();
    }
  }
}

先開啟服務端,再開啟客戶端,進行操作。

客戶端:

(端口號選擇“TCPClient”,遠程填寫IP地址和程序里設定好的端口“60020”,本地選擇自己電腦的IP地址)

Java如何實現TCP/IP協議的收發數據服務端

服務端:

Java如何實現TCP/IP協議的收發數據服務端

以上是“Java如何實現TCP/IP協議的收發數據服務端”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

德惠市| 大宁县| 新疆| 平凉市| 山丹县| 普洱| 平塘县| 苍溪县| 庐江县| 交城县| 南江县| 铁岭县| 剑川县| 西青区| 新化县| 泾川县| 吴忠市| 乐山市| 深水埗区| 南昌市| 福清市| 金坛市| 蓬莱市| 永定县| 萍乡市| 马公市| 阳泉市| 彭阳县| 德州市| 清徐县| 兴海县| 桐柏县| 射阳县| 天峻县| 新平| 东兴市| 台南市| 新宁县| 平谷区| 石首市| 高清|