中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

java中socket怎么使用

小億
106
2023-09-23 01:52:50
欄目: 編程語言

在Java中使用Socket進行網絡通信可以分為服務端和客戶端兩部分。

服務端:

  1. 創建ServerSocket對象,并指定端口號。

  2. 調用ServerSocket的accept()方法接收客戶端連接請求,返回一個Socket對象。

  3. 使用Socket對象的輸入流和輸出流進行數據的讀取和寫入。

  4. 通信完成后,關閉Socket對象和ServerSocket對象。

示例代碼:

import java.io.*;
import java.net.*;
public class Server {
public static void main(String[] args) {
try {
// 創建ServerSocket對象,并指定端口號
ServerSocket serverSocket = new ServerSocket(8888);
// 接收客戶端連接請求,返回一個Socket對象
Socket socket = serverSocket.accept();
// 獲取輸入流和輸出流
InputStream is = socket.getInputStream();
OutputStream os = socket.getOutputStream();
// 讀取客戶端發送的數據
BufferedReader reader = new BufferedReader(new InputStreamReader(is));
String data = reader.readLine();
System.out.println("Client: " + data);
// 向客戶端發送數據
BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(os));
writer.write("Hello, client!\n");
writer.flush();
// 關閉流和Socket對象
reader.close();
writer.close();
is.close();
os.close();
socket.close();
serverSocket.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}

客戶端:

  1. 創建Socket對象,指定服務端的IP地址和端口號。

  2. 使用Socket對象的輸入流和輸出流進行數據的讀取和寫入。

  3. 通信完成后,關閉Socket對象。

示例代碼:

import java.io.*;
import java.net.*;
public class Client {
public static void main(String[] args) {
try {
// 創建Socket對象,指定服務端的IP地址和端口號
Socket socket = new Socket("127.0.0.1", 8888);
// 獲取輸入流和輸出流
InputStream is = socket.getInputStream();
OutputStream os = socket.getOutputStream();
// 向服務端發送數據
BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(os));
writer.write("Hello, server!\n");
writer.flush();
// 讀取服務端發送的數據
BufferedReader reader = new BufferedReader(new InputStreamReader(is));
String data = reader.readLine();
System.out.println("Server: " + data);
// 關閉流和Socket對象
writer.close();
reader.close();
is.close();
os.close();
socket.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}

以上代碼演示了一個簡單的Socket通信過程,在實際應用中可能需要進行異常處理、循環讀取數據等操作。

0
靖边县| 庄河市| 察隅县| 高雄县| 盐池县| 开封市| 六盘水市| 肇东市| 略阳县| 乐清市| 岳池县| 五原县| 常山县| 巩义市| 盐津县| 高邑县| 建瓯市| 新乡市| 黄冈市| 荥阳市| 曲阜市| 攀枝花市| 稻城县| 冕宁县| 尉氏县| 翁牛特旗| 安庆市| 清水县| 合阳县| 谷城县| 建宁县| 大同市| 加查县| 长汀县| 麟游县| 全南县| 冕宁县| 岫岩| 娄烦县| 嘉祥县| 威信县|