操纵Java中的网络函数实现网络编程
发布时间:2023-05-27 05:23:43
网络编程是指使用计算机网络进行通信的程序设计。Java中的网络函数可以实现网络编程,主要包括Socket编程和URL编程。Socket编程一般用于实现TCP/IP协议的通信,而URL编程则主要用于访问网络资源。
Socket编程
Socket编程中主要用到了两个类,一个是ServerSocket类,一个是Socket类。ServerSocket是用于监听客户端请求的类,而Socket则是用于连接服务器的类。以下是一个简单的Socket通信的示例代码:
import java.net.*;
import java.io.*;
public class Client {
public static void main(String[] args) {
try {
Socket socket = new Socket("127.0.0.1", 8888);
OutputStream outputStream = socket.getOutputStream();
PrintWriter printWrite = new PrintWriter(outputStream);
printWrite.println("Hello, server.");
printWrite.flush();
socket.shutdownOutput();
InputStream inputStream = socket.getInputStream();
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(inputStream));
String info = null;
while ((info = bufferedReader.readLine()) != null) {
System.out.println("I am client, the server say:" + info);
}
bufferedReader.close();
inputStream.close();
printWrite.close();
outputStream.close();
socket.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
import java.io.*;
import java.net.*;
public class Server {
public static void main(String[] args) {
try {
ServerSocket serverSocket = new ServerSocket(8888);
Socket socket = serverSocket.accept();
InputStream inputStream = socket.getInputStream();
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(inputStream));
String info = null;
while ((info = bufferedReader.readLine()) != null) {
System.out.println("I am server, the client say:" + info);
}
socket.shutdownInput();
OutputStream outputStream = socket.getOutputStream();
PrintWriter printWriter = new PrintWriter(outputStream);
printWriter.println("Welcome, client.");
printWriter.flush();
printWriter.close();
outputStream.close();
bufferedReader.close();
inputStream.close();
socket.close();
serverSocket.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
URL编程
URL编程主要用于访问网络资源,例如从网上下载文件、访问网页等等。可以使用java.net包中的URL类和URLConnection类实现URL编程。
import java.net.*;
import java.io.*;
public class URLConnectionDemo {
public static void main(String[] args) {
try {
URL url = new URL("https://www.baidu.com/");
URLConnection connection = url.openConnection();
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(connection.getInputStream()));
String line;
while ((line = bufferedReader.readLine()) != null) {
System.out.println(line);
}
bufferedReader.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
总之,Java中的网络函数可以实现网络编程,具有使用简单、可移植性强等特点,可以帮助我们轻松地实现各种网络应用。
