欢迎访问宙启技术站
智能推送

操纵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中的网络函数可以实现网络编程,具有使用简单、可移植性强等特点,可以帮助我们轻松地实现各种网络应用。