Java 網路程式設計 – TCP協議基本步驟

安全劍客發表於2019-10-19
傳輸控制協議(TCP,Transmission Control Protocol)是一種面向連線的、可靠的、基於位元組流的傳輸層通訊協議,由IETF的RFC 793定義。TCP旨在適應支援多網路應用的分層協議層次結構。 連線到不同但互連的計算機通訊網路的主計算機中的成對程式之間依靠TCP提供可靠的通訊服務。TCP假設它可以從較低階別的協議獲得簡單的,可能不可靠的資料包服務。 原則上,TCP應該能夠在從硬線連線到分組交換或電路交換網路的各種通訊系統之上操作。
TCP:TCP協議基於請求-響應模式,利用io流實現資料的傳輸。
建立伺服器

1、指定埠 使用ServerSocket建立伺服器
2、阻塞式等待連線accept,有一個accept就建立了一個客戶端
3、操作:io流
4、釋放資源

public class tcp {
public static void main(String[]args) throws IOException
{
System.out.println("-----Server-----");
// 1、指定埠 使用ServerSocket建立伺服器
ServerSocket server=new ServerSocket(8888);
// 2、阻塞式等待連線accept
Socket client=server.accept();//返回一個Socket物件
System.out.println("一個客戶端建立了連線");
// 3、操作:io流
DataInputStream dis=new DataInputStream(client.getInputStream());//輸入,
client.getInputStream()返回一個位元組輸入流
String data=dis.readUTF();
System.out.println(data);
// 4、釋放資源
dis.close();
client.close();
server.close();
}
}
建立客戶端

1、建立連線:使用Socket建立客戶端+服務的地址和埠
2、操作:輸入輸出流操作
3、釋放資源

public class tcp2 {
public static void main(String[]args) throws IOException
{
System.out.println("--------Client---------");
//1、建立連線:使用Socket建立客戶端+服務的地址和埠
Socket client2=new Socket("localhost",8888);
//2、操作:輸入輸出流操作
DataOutputStream dos=new DataOutputStream(client2.getOutputStream());//輸出
String data="杜雨龍最帥";
dos.writeUTF(data);
dos.flush();
//3、釋放資源
dos.close();
client2.close();
}
}

原文地址: https://www.linuxprobe.com/java-tcp-itpub.html

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31559985/viewspace-2660618/,如需轉載,請註明出處,否則將追究法律責任。

相關文章