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

Java 网络编程中的常用协议和库
Java 提供了丰富的库和框架来简化网络编程,以下列出了一些常用的协议和库:
协议
立即学习“Java免费学习笔记(深入)”;
豆包AI编程
豆包推出的AI编程助手
483 查看详情
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 网络编程中常用的协议和库有哪些?的详细内容,更多请关注创想鸟其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/563155.html
微信扫一扫
支付宝扫一扫