Java Socket 通信示例:程序 A 向程序 B 发送数据并接收响应
Java Socket 通信示例:程序 A 向程序 B 发送数据并接收响应
本示例演示了使用 Java Socket 进行网络通信,程序 A 通过 Socket 发送 'hello world!' 到程序 B,程序 B 接收数据并返回 'ok' 给程序 A。
程序 A 代码示例
import java.io.IOException;
import java.io.OutputStream;
import java.net.Socket;
public class ProgramA {
public static void main(String[] args) {
try {
// 创建Socket对象,连接到程序B的IP地址和端口号
Socket socket = new Socket('程序B的IP地址', 程序B的端口号);
// 获取输出流
OutputStream outputStream = socket.getOutputStream();
// 发送数据
String data = 'hello world!';
outputStream.write(data.getBytes());
// 关闭连接
socket.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
程序 B 代码示例
import java.io.IOException;
import java.io.InputStream;
import java.net.ServerSocket;
import java.net.Socket;
public class ProgramB {
public static void main(String[] args) {
try {
// 创建ServerSocket对象,监听指定端口号
ServerSocket serverSocket = new ServerSocket(程序B的端口号);
// 等待客户端连接
Socket socket = serverSocket.accept();
// 获取输入流
InputStream inputStream = socket.getInputStream();
// 读取数据
byte[] buffer = new byte[1024];
int length = inputStream.read(buffer);
String data = new String(buffer, 0, length);
// 处理数据
System.out.println('Received data from ProgramA: ' + data);
// 返回响应
String response = 'ok';
socket.getOutputStream().write(response.getBytes());
// 关闭连接
socket.close();
serverSocket.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
注意:
- 替换代码中的 '程序B的IP地址' 和 '程序B的端口号' 为实际的IP地址和端口号。
- 确保程序 B 已启动并监听指定端口。
- 运行程序 A 将发送 'hello world!' 到程序 B,并接收 'ok' 作为响应。
该示例演示了使用 Java Socket 进行简单的数据传输,您可以根据自己的需要进行扩展,例如发送更复杂的数据结构、实现多线程通信等。
原文地址: https://www.cveoy.top/t/topic/l59w 著作权归作者所有。请勿转载和采集!