在Java中,使用命令行界面(CLI)进行网络编程通常涉及以下几个步骤:
Socket类来创建一个到服务器的连接。Socket对象的输入输出流来进行数据的发送和接收。IOException。Socket连接以释放资源。下面是一个简单的Java CLI客户端示例,它连接到服务器并发送一条消息:
import java.io.*;
import java.net.*;
public class SimpleClient {
public static void main(String[] args) {
// 服务器地址和端口
String host = "localhost";
int port = 12345;
// 创建Socket连接
try (Socket socket = new Socket(host, port)) {
// 获取输出流,用于向服务器发送数据
OutputStream out = socket.getOutputStream();
PrintWriter writer = new PrintWriter(out, true);
// 发送数据到服务器
writer.println("Hello, Server!");
// 获取输入流,用于接收服务器的响应
InputStream in = socket.getInputStream();
BufferedReader reader = new BufferedReader(new InputStreamReader(in));
// 读取服务器的响应
String response = reader.readLine();
System.out.println("Server says: " + response);
} catch (UnknownHostException e) {
System.err.println("Don't know about host " + host);
e.printStackTrace();
} catch (IOException e) {
System.err.println("Couldn't get I/O for the connection to " + host);
e.printStackTrace();
}
}
}
同时,你需要一个简单的服务器来接收客户端的消息并发送响应:
import java.io.*;
import java.net.*;
public class SimpleServer {
public static void main(String[] args) {
// 监听的端口
int port = 12345;
// 创建ServerSocket监听指定端口
try (ServerSocket serverSocket = new ServerSocket(port)) {
System.out.println("Server is listening on port " + port);
while (true) {
// 等待客户端连接
try (Socket clientSocket = serverSocket.accept()) {
System.out.println("New client connected");
// 获取输入流,用于接收客户端的数据
InputStream in = clientSocket.getInputStream();
BufferedReader reader = new BufferedReader(new InputStreamReader(in));
// 读取客户端发送的数据
String message = reader.readLine();
System.out.println("Received from client: " + message);
// 获取输出流,用于向客户端发送响应
OutputStream out = clientSocket.getOutputStream();
PrintWriter writer = new PrintWriter(out, true);
// 发送响应给客户端
writer.println("Hello, Client!");
} catch (IOException e) {
System.err.println("Exception caught when trying to listen on port " + port + " or listening for a connection");
e.printStackTrace();
}
}
} catch (IOException e) {
System.err.println("Could not listen on port " + port);
e.printStackTrace();
}
}
}
要运行这些程序,首先启动服务器程序,然后在另一个终端窗口中启动客户端程序。服务器将接收客户端的消息并发送一个响应。
请注意,这些示例仅用于演示目的,它们没有实现复杂的网络协议或错误处理机制。在实际应用中,你可能需要考虑更多的因素,比如多线程处理、安全性、协议设计等。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。