javasocket服務(wù)端 java socket服務(wù)端向客戶(hù)端發(fā)消息
Ciceksepeti鮮花購(gòu)賣(mài)家服務(wù)2025-04-173510
Java Socket服務(wù)端是一種基于TCP/IP協(xié)議的網(wǎng)絡(luò)通信方式。它允許客戶(hù)端和服務(wù)器之間進(jìn)行數(shù)據(jù)交換,通常用于實(shí)現(xiàn)遠(yuǎn)程登錄、文件傳輸?shù)葢?yīng)用。以下是一個(gè)簡(jiǎn)單的Java Socket服務(wù)端的示例代碼:
import java.io.*;
import java.net.*;
public class SocketServer {
public static void main(String[] args) throws IOException {
// 創(chuàng)建服務(wù)器端Socket對(duì)象
ServerSocket serverSocket = new ServerSocket(8080);
System.out.println("服務(wù)器啟動(dòng),監(jiān)聽(tīng)端口號(hào)為8080...");
// 循環(huán)處理客戶(hù)端連接請(qǐng)求
while (true) {
// 接受客戶(hù)端連接請(qǐng)求
Socket clientSocket = serverSocket.accept();
System.out.println("客戶(hù)端已連接");
// 獲取輸入流和輸出流
BufferedReader in = new BufferedReader(new InputStreamReader(clientSocket.getInputStream()));
PrintWriter out = new PrintWriter(clientSocket.getOutputStream(), true);
// 讀取客戶(hù)端發(fā)送的數(shù)據(jù)
String request = in.readLine();
System.out.println("收到客戶(hù)端請(qǐng)求:" + request);
// 處理客戶(hù)端請(qǐng)求
handleClientRequest(request);
// 關(guān)閉輸入輸出流
in.close();
out.close();
clientSocket.close();
}
}
private static void handleClientRequest(String request) {
// 根據(jù)請(qǐng)求內(nèi)容進(jìn)行處理
if ("GET".equals(request)) {
// 返回響應(yīng)數(shù)據(jù)
String response = "HTTP/1.1 200 OK\r\nContent-Type: text/html\r\n\r\n";
out.write(response);
} else {
// 處理其他請(qǐng)求類(lèi)型
throw new UnsupportedOperationException("不支持的請(qǐng)求類(lèi)型");
}
}
}
這個(gè)示例代碼創(chuàng)建了一個(gè)監(jiān)聽(tīng)8080端口的服務(wù)器端Socket,當(dāng)有客戶(hù)端連接時(shí),會(huì)讀取客戶(hù)端發(fā)送的請(qǐng)求并進(jìn)行處理。在這個(gè)例子中,我們只處理了"GET"類(lèi)型的請(qǐng)求,并返回一個(gè)響應(yīng)數(shù)據(jù)。你可以根據(jù)實(shí)際需求修改handleClientRequest
方法,以處理不同類(lèi)型的請(qǐng)求。
本文內(nèi)容根據(jù)網(wǎng)絡(luò)資料整理,出于傳遞更多信息之目的,不代表金鑰匙跨境贊同其觀(guān)點(diǎn)和立場(chǎng)。
轉(zhuǎn)載請(qǐng)注明,如有侵權(quán),聯(lián)系刪除。