Java 网络编程中常用的协议和库有哪些?

java 网络编程常用协议和库:协议:tcp、udp、http、https、ftp库:java.net、java.nio、apache httpclient、netty、okhttpJava 网络编程中的常用协议和库
Java 提供了丰富的

java 网络编程常用协议和库:协议:tcp、udp、http、https、ftp库:java.net、java.nio、apache httpclient、netty、okhttp

Java 网络编程中常用的协议和库有哪些?

Java 网络编程中的常用协议和库

Java 提供了丰富的库和框架来简化网络编程,以下列出了一些常用的协议和库:

协议

  • TCP (传输控制协议):一种面向连接的协议,提供可靠的、有序的数据传输。
  • UDP (用户数据报协议):一种无连接的协议,提供较低开销的、不可靠的数据传输。
  • HTTP (超文本传输协议):用于从 Web 服务器获取资源的协议。
  • HTTPS (安全超文本传输协议):HTTP 的安全版本,使用 TLS/SSL 加密数据传输。
  • FTP (文件传输协议):用于在客户端和服务器之间传输文件的协议。

  • java.net:Java 中用于网络编程的基本库,提供了执行基本网络操作的方法和类。
  • java.nio:提供了基于 NIO (非阻塞 I/O) 的更高级别的网络 API,允许多线程处理网络事件。
  • Apache HttpClient:一个 流行且易于使用的 HTTP 客户端,提供了高级别的方法来发送和接收 HTTP 请求。
  • Netty:一个高性能的 I/O 框架,提供了多种协议支持,包括 TCP、UDP 和 HTTP。
  • OkHttp:一个轻量级且异步的 HTTP 客户端,针对移动设备进行了优化。

实战案例

发送 HTTP GET 请求

import java.net.HttpURLConnection;
import java.net.URL;

public class HttpGetExample {

    public static void main(String[] args) throws Exception {
        String url = "https://www.example.com";

        // 创建 HttpURLConnection
        URL obj = new URL(url);
        HttpURLConnection con = (HttpURLConnection) obj.openConnection();

        // 设置请求方法和内容类型
        con.setRequestMethod("GET");
        con.setRequestProperty("Content-Type", "application/json");

        // 发送请求并获取响应代码
        int responseCode = con.getResponseCode();

        // 打印响应正文
        System.out.println("Response Code: " + responseCode);
        Scanner scanner = new Scanner(con.getInputStream());
        while (scanner.hasNextLine()) {
            System.out.println(scanner.nextLine());
        }
        scanner.close();
    }
}

登录后复制

创建 TCP 服务器

import java.net.ServerSocket;
import java.net.Socket;

public class TcpServerExample {

    public static void main(String[] args) throws Exception {
        // 监听端口
        int port = 8080;

        // 创建 ServerSocket
        ServerSocket serverSocket = new ServerSocket(port);

        // 循环等待客户端连接
        while (true) {
            // 接受客户端连接
            Socket clientSocket = serverSocket.accept();
            
            // 创建新线程处理客户端连接
            Thread thread = new Thread(() -> {
                try {
                    // 获取客户端输入流
                    BufferedReader in = new BufferedReader(new InputStreamReader(clientSocket.getInputStream()));
                    
                    // 打印客户端发来的数据
                    String line;
                    while ((line = in.readLine()) != null) {
                        System.out.println("Message from client: " + line);
                    }
                } catch (Exception e) {
                    e.printStackTrace();
                }
            });
            thread.start();
        }
    }
}

登录后复制

以上就是Java 网络编程中常用的协议和库有哪些?的详细内容,更多请关注叮当号网其它相关文章!

文章来自互联网,只做分享使用。发布者:老板不要肥肉,转转请注明出处:https://www.dingdanghao.com/article/460893.html

(0)
上一篇 2024-05-09 18:40
下一篇 2024-05-09 18:40

相关推荐

联系我们

在线咨询: QQ交谈

邮件:442814395@qq.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信公众号