Java函数的网络编程实例教程
网络编程是Java中非常重要的一部分,它允许Java开发人员通过网络与服务器通信。在本文中,我们将介绍如何创建Java函数的网络编程实例,包括服务器端和客户端。
1. 创建服务器端程序
首先,我们需要创建一个服务器程序,它将监听来自客户端的请求,并向客户端发送响应。以下是服务器端程序的基本代码:
import java.net.*;
import java.io.*;
public class Server {
public static void main(String[] args) throws IOException {
ServerSocket server = new ServerSocket(8080);
System.out.println("Server started.");
while (true) {
Socket client = server.accept();
System.out.println("Client connected.");
BufferedReader in = new BufferedReader(new InputStreamReader(client.getInputStream()));
PrintWriter out = new PrintWriter(client.getOutputStream(), true);
String inputLine;
while ((inputLine = in.readLine()) != null) {
if ("exit".equals(inputLine)) {
break;
}
out.println("Server: " + inputLine);
}
in.close();
out.close();
client.close();
System.out.println("Client disconnected.");
}
}
}
在上面的代码中,我们使用ServerSocket类创建一个服务器套接字,并将其绑定到本地端口8080上。然后,我们使用accept()方法等待客户端连接。当客户端连接时,我们将创建一个新的Socket对象,然后为Socket对象创建一个输入流和输出流。
接着,我们使用输入流读取来自客户端的数据,并向客户端发送响应。当客户端输入“exit”时,我们使用break语句终止循环。
最后,我们关闭输入流,输出流和客户端套接字,并打印“Client disconnected.”。
2. 创建客户端程序
接下来,我们需要创建一个客户端程序,它将连接到服务器并向服务器发送请求。以下是客户端程序的基本代码:
import java.net.*;
import java.io.*;
public class Client {
public static void main(String[] args) throws IOException {
Socket client = new Socket("localhost", 8080);
System.out.println("Client connected.");
BufferedReader in = new BufferedReader(new InputStreamReader(client.getInputStream()));
PrintWriter out = new PrintWriter(client.getOutputStream(), true);
BufferedReader stdIn = new BufferedReader(new InputStreamReader(System.in));
String userInput;
while ((userInput = stdIn.readLine()) != null) {
out.println(userInput);
System.out.println("Server: " + in.readLine());
if ("exit".equals(userInput)) {
break;
}
}
in.close();
out.close();
client.close();
System.out.println("Client disconnected.");
}
}
在上面的代码中,我们使用Socket类创建一个客户端套接字,并连接到服务器的本地端口8080。然后,我们为Socket对象创建一个输入流和输出流。
接着,我们使用标准输入流读取用户输入,并将其发送给服务器。当服务器发送响应时,我们将其打印到屏幕上。当用户输入“exit”时,我们使用break语句终止循环。
最后,我们关闭输入流,输出流和客户端套接字,并打印“Client disconnected.”。
3. 测试程序
接下来,我们可以在终端窗口中运行服务器程序和客户端程序。当客户端连接到服务器并向其发送请求时,服务器将向客户端发送响应。
在终端窗口中运行服务器程序:
$ javac Server.java $ java Server Server started.
在另一个终端窗口中运行客户端程序:
$ javac Client.java $ java Client Client connected. hello Server: Server: hello world Server: Server: world exit Server: Server: exit Client disconnected.
在客户端程序中,我们先输入“hello”,服务器返回了“Server: hello”。接着,我们输入“world”,服务器返回了“Server: world”。最后,我们输入“exit”以终止程序。
通过这个简单的网络编程实例,我们可以学习如何创建Java函数的网络编程实例,包括服务器端和客户端。您可以通过了解网络编程的基本概念和Java编程语言来扩展本教程,以创建更复杂的网络应用程序。
