Java Socket通信编程示例,包括客户端和服务端
以下是一个简单的Socket通信的Java示例,分为客户端和服务端。
- 客户端(ServerSocketClient.java):
```java
import java.io.;
import java.net.;
public class ServerSocketClient {
public static void main(String[] args) {
try (Socket socket = new Socket(“localhost”, 1234));
{
BufferedReader in = new BufferedReader(new InputStreamReader(socket.getInputStream())));
PrintWriter out = new PrintWriter(socket.getOutputStream(), true));
System.out.println("客户端:读取信息");
String inputLine;
while ((inputLine = in.readLine()) != null) {
System.out.println("客户端:输入:" + inputLine);
}
System.out.println("客户端:写入信息");
out.println("服务端:你好,客户端!");
System.out.println("客户端:关闭连接");
out.close();
in.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
2. 服务端(ServerSocket.java):
```java
import java.io.*;
import java.net.*;
public class ServerSocket {
public static void main(String[] args) {
try (ServerSocket serverSocket = new ServerSocket(1234));
{
Socket socket = serverSocket.accept();
System.out.println("服务端:连接建立,客户端:" + socket.getRemoteSocketAddress()));
BufferedReader in = new BufferedReader(new InputStreamReader(socket.getInputStream())));
PrintWriter out = new PrintWriter(socket.getOutputStream(), true));
System.out.println("服务端:开始接收信息");
String inputLine;
while ((inputLine = in.readLine()) != null) {
System.out.println("服务端:收到客户端信息:" + inputLine);
// 这里可以处理业务逻辑
}
System.out.println("服务端:向客户端发送信息");
out.println("客户端,你好,服务端!");
System.out.println("服务端:关闭连接");
out.close();
in.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
以上示例中,客户端和服务器端通过Socket通信。客户端可以向服务器发送信息,也可以接收服务器返回的信息。服务端则负责处理接收到的客户端请求,并将响应返回给客户端。
还没有评论,来说两句吧...