在Java中,你可以使用java.net包中的类和接口来进行网络通信。以下是一个简单的示例,展示了如何使用Java命令行进行TCP网络通信。
客户端:
Socket对象,连接到服务器的IP地址和端口。Socket对象的getOutputStream()方法获取输出流,向服务器发送数据。Socket对象的getInputStream()方法获取输入流,接收服务器返回的数据。Socket对象。import java.io.*;
import java.net.*;
public class JavaCommandLineClient {
public static void main(String[] args) {
try {
Socket socket = new Socket("localhost", 8888);
OutputStream outputStream = socket.getOutputStream();
PrintWriter out = new PrintWriter(outputStream, true);
out.println("Hello, Server!");
InputStream inputStream = socket.getInputStream();
BufferedReader in = new BufferedReader(new InputStreamReader(inputStream));
String response = in.readLine();
System.out.println("Server response: " + response);
socket.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
服务器:
ServerSocket对象,监听指定的端口。ServerSocket对象的accept()方法等待客户端连接。Socket对象的getInputStream()方法获取输入流,接收客户端发送的数据。Socket对象的getOutputStream()方法获取输出流,向客户端发送数据。Socket对象和ServerSocket对象。import java.io.*;
import java.net.*;
public class JavaCommandLineServer {
public static void main(String[] args) {
try {
ServerSocket serverSocket = new ServerSocket(8888);
System.out.println("Server is listening on port 8888...");
Socket socket = serverSocket.accept();
System.out.println("Client connected.");
InputStream inputStream = socket.getInputStream();
BufferedReader in = new BufferedReader(new InputStreamReader(inputStream));
String request = in.readLine();
System.out.println("Client message: " + request);
OutputStream outputStream = socket.getOutputStream();
PrintWriter out = new PrintWriter(outputStream, true);
out.println("Hello, Client!");
socket.close();
serverSocket.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
首先运行服务器程序,然后运行客户端程序。客户端将向服务器发送一条消息,服务器接收消息并向客户端返回一条响应。这是一个简单的TCP网络通信示例,你可以根据需要进行修改和扩展。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。