TCP通訊客戶端和服務端簡單程式碼實現
客戶端Socket中的方法:
- Socket(InetAddress address, int port)
-
建立一個流套接字並將其連線到指定 IP 地址的指定埠號。
- InputStream getInputStream()
-
返回此套接字的輸入流。
- OutputStream getOutputStream()
-
返回此套接字的輸出流
InputStream中方法:
- int read(byte[] b)
-
從輸入流中讀取一定數量的位元組,並將其儲存在緩衝區陣列 b 中。
客戶端程式
package JAVA_Test7;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.Socket;
public class TCPClient {
public static void main(String[] args) throws IOException {
//1.建立一個客戶端物件Socket,構造方法繫結ip地址和埠號
Socket socket = new Socket("127.0.0.1",8888);
//2.使用Socket中的方法獲得OutputStream物件
OutputStream os = socket.getOutputStream();
//3.使用位元組輸出流OutputStream中的Write方法傳送資料
os.write("你好伺服器".getBytes());
//4.使用Socket物件中的方法getInputStream()獲得InputStream
InputStream is = socket.getInputStream();
//5.讀取資訊
byte bytes[] = new byte[1024];
int len = is.read(bytes);
System.out.println(new String(bytes,0,len));
socket.close();
}
}
- TCP伺服器端ServerSocket
*ServerSocket(int port) -
建立繫結到特定埠的伺服器套接字。
- Socket accept()
-
偵聽並接受到此套接字的連線
流程
- 1.建立伺服器ServerSocket物件
- 2.使用ServerSocket中的accept方法獲得請求的客戶端Socket物件
- 3.使用Socket中的方法獲得InputStream網路位元組輸入流
- 4.使用InputStream中的read()方法,讀取資料
- 5.使用Socket中的方法獲得OutputStream輸出流
- 6.使用OutputStream中的write()方法,給客戶端傳送資料
服務端程式
package JAVA_Test7;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.ServerSocket;
import java.net.Socket;
public class TCPServer {
public static void main(String[] args) throws IOException {
//1.建立伺服器ServerSocket物件
ServerSocket serverSocket = new ServerSocket(8888);
//2.使用ServerSocket中的accept方法獲得請求的客戶端Socket物件
Socket socket = serverSocket.accept();
//3.使用Socket中的方法獲得InputStream網路位元組輸入流
InputStream is = socket.getInputStream();
//4.使用InputStream中的read()方法,讀取資料
byte []bytes = new byte[1024];
int len = is.read(bytes);
System.out.println(new String(bytes,0,len));
//5.使用Socket中的方法獲得OutputStream輸出流
OutputStream os = socket.getOutputStream();
//6.使用OutputStream中的write()方法,給客戶端傳送資料
os.write("收到謝謝".getBytes());
socket.close();
serverSocket.close();
}
}
相關文章
- 基於node的tcp客戶端和服務端的簡單通訊TCP客戶端服務端
- 利用tirpc庫實現簡單的客戶端和服務端RPC客戶端服務端
- golang實現tcp客戶端服務端程式GolangTCP客戶端服務端
- python實現兩臺不同主機之間進行通訊(客戶端和服務端)——SocketPython客戶端服務端
- 實現客戶端與服務端的HTTP通訊客戶端服務端HTTP
- Socket最簡單的客戶端與服務端通訊-Java客戶端服務端Java
- C# HTTP實現斷點續傳客戶端和服務端C#HTTP斷點客戶端服務端
- python 實現 TCP、UDP 客戶端最簡流程PythonTCPUDP客戶端
- 001 Rust 網路程式設計,實現 TCP 服務端和客戶端程式Rust程式設計TCP服務端客戶端
- TCP協議服務端和客戶端的連線與通訊TCP協議服務端客戶端
- 21_MQTT協議_客戶端和服務端MQQT協議客戶端服務端
- Go gRPC 系列三:流式客戶端和服務端GoRPC客戶端服務端
- python建立tcp服務端和客戶端PythonTCP服務端客戶端
- 匯川AM401的TCP客戶端通訊TCP客戶端
- 基於c語言的TCP客戶端、服務端基礎程式碼C語言TCP客戶端服務端
- FTP客戶端c程式碼功能實現FTP客戶端C程式
- TCP程式設計之服務端和客戶端的開發TCP程式設計服務端客戶端
- C/S(socket、執行緒 實現多個客戶端、伺服器端簡易通訊)執行緒客戶端伺服器
- C++程式碼實現一個簡易http服務端,返回給客戶端一張圖片C++HTTP服務端客戶端
- Qt TCP通訊客戶端斷開連線有哪些方法QTTCP客戶端
- SHA-256加密簡單例項(客戶端、服務端)加密單例客戶端服務端
- Spring Boot 整合 WebSocket 實現服務端推送訊息到客戶端Spring BootWeb服務端客戶端
- C語言透過socket實現TCP客戶端C語言TCP客戶端
- 客戶端和服務端(C#) 時間戳的生成和轉換客戶端服務端C#時間戳
- gRPC 客戶端和服務端一次互動的全流程(九)RPC客戶端服務端
- 實現服務端和客戶端的實時雙向資料傳輸-WebSocket簡單瞭解服務端客戶端Web
- Go 實現簡易的 Redis 客戶端GoRedis客戶端
- Golang 實現客戶端與伺服器端UDP協議連線通訊Golang客戶端伺服器UDP協議
- springboot2整合websocket,實現服務端推送訊息到客戶端Spring BootWeb服務端客戶端
- WPF 通過程式實現異常隔離的客戶端客戶端
- 實現一個clickhouse tcp協議客戶端驅動TCP協議客戶端
- 服務端,客戶端服務端客戶端
- 客戶端,服務端客戶端服務端
- java netty 實現 websocket 服務端和客戶端雙向通訊 實現心跳和斷線重連 完整示例JavaNettyWeb服務端客戶端
- IM撤回訊息-iOS客戶端實現iOS客戶端
- 「iOS」行車服務app 「客戶端、後端思路+程式碼」iOSAPP客戶端後端
- 如何用Java Socket實現一個簡單的Redis客戶端JavaRedis客戶端
- 03. 實現客戶端應用程式客戶端