当前位置: 首页 > wzjs >正文

付费网站推广女教师遭网课入侵直播录屏曝光se

付费网站推广,女教师遭网课入侵直播录屏曝光se,上海网站设计要多少钱,wordpress手机qq登录地址修改Java 网络编程详解 Java 网络编程是指使用 Java 语言开发能够在网络环境中进行通信的应用程序。它主要基于客户端 - 服务器模型,通过 套接字 (Socket)实现不同设备间的数据交换。下面从核心概念到实践案例进行全面介绍。 一、核心概念 1. TCP 与 UDP TCP (Transm…

Java 网络编程详解

Java 网络编程是指使用 Java 语言开发能够在网络环境中进行通信的应用程序。它主要基于客户端 - 服务器模型,通过 套接字 (Socket)实现不同设备间的数据交换。下面从核心概念到实践案例进行全面介绍。

一、核心概念

1. TCP 与 UDP
  • TCP (Transmission Control Protocol)

    • 面向连接,提供可靠的数据传输(如 HTTP、FTP)。
    • 特点:三次握手建立连接,数据有序且无差错。
  • UDP (User Datagram Protocol)

    • 无连接,提供不可靠但高效的数据传输(如视频流、DNS)。
    • 特点:无需建立连接,可能丢包或乱序,但开销小。
2. 端口号
  • 标识进程的逻辑地址(范围:0-65535)。
  • 常见端口:HTTP (80)、HTTPS (443)、FTP (21)、SSH (22)。
3. 套接字 (Socket)
  • 网络编程的基础接口,分为:
    • TCP Socketjava.net.Socket(客户端)和java.net.ServerSocket(服务器)。
    • UDP Socketjava.net.DatagramSocketjava.net.DatagramPacket

二、TCP 网络编程

1. TCP 客户端实现
import java.io.*;
import java.net.*;public class TCPClient {public static void main(String[] args) {try {// 1. 创建Socket并连接到服务器Socket socket = new Socket("localhost", 8888);System.out.println("客户端已连接到服务器");// 2. 获取输入输出流PrintWriter out = new PrintWriter(socket.getOutputStream(), true);BufferedReader in = new BufferedReader(new InputStreamReader(socket.getInputStream()));BufferedReader userInput = new BufferedReader(new InputStreamReader(System.in));// 3. 发送和接收消息String message;while ((message = userInput.readLine()) != null) {out.println(message);  // 发送消息到服务器System.out.println("服务器回复: " + in.readLine());  // 接收服务器回复}// 4. 关闭连接socket.close();} catch (IOException e) {e.printStackTrace();}}
}
2. TCP 服务器实现
import java.io.*;
import java.net.*;public class TCPServer {public static void main(String[] args) {try {// 1. 创建ServerSocket并监听端口ServerSocket serverSocket = new ServerSocket(8888);System.out.println("服务器启动,等待客户端连接...");while (true) {// 2. 接受客户端连接Socket clientSocket = serverSocket.accept();System.out.println("客户端已连接: " + clientSocket.getInetAddress());// 3. 为每个客户端创建线程处理请求new Thread(() -> {try {// 获取输入输出流BufferedReader in = new BufferedReader(new InputStreamReader(clientSocket.getInputStream()));PrintWriter out = new PrintWriter(clientSocket.getOutputStream(), true);// 处理客户端消息String inputLine;while ((inputLine = in.readLine()) != null) {System.out.println("客户端消息: " + inputLine);out.println("服务器已收到: " + inputLine);  // 回复客户端}// 关闭连接clientSocket.close();} catch (IOException e) {e.printStackTrace();}}).start();}} catch (IOException e) {e.printStackTrace();}}
}

三、UDP 网络编程

1. UDP 客户端实现
import java.io.*;
import java.net.*;public class UDPClient {public static void main(String[] args) {try {// 1. 创建DatagramSocketDatagramSocket socket = new DatagramSocket();// 2. 准备数据String message = "Hello, UDP Server!";byte[] sendData = message.getBytes();// 3. 创建目标地址和端口InetAddress address = InetAddress.getByName("localhost");int port = 9999;// 4. 创建并发送数据包DatagramPacket sendPacket = new DatagramPacket(sendData, sendData.length, address, port);socket.send(sendPacket);// 5. 接收服务器响应byte[] receiveData = new byte[1024];DatagramPacket receivePacket = new DatagramPacket(receiveData, receiveData.length);socket.receive(receivePacket);String response = new String(receivePacket.getData(), 0, receivePacket.getLength());System.out.println("服务器响应: " + response);// 6. 关闭Socketsocket.close();} catch (IOException e) {e.printStackTrace();}}
}
2. UDP 服务器实现
import java.io.*;
import java.net.*;public class UDPServer {public static void main(String[] args) {try {// 1. 创建DatagramSocket并绑定端口DatagramSocket socket = new DatagramSocket(9999);System.out.println("UDP服务器启动,监听端口: 9999");while (true) {// 2. 接收客户端数据包byte[] receiveData = new byte[1024];DatagramPacket receivePacket = new DatagramPacket(receiveData, receiveData.length);socket.receive(receivePacket);// 3. 处理数据String message = new String(receivePacket.getData(), 0, receivePacket.getLength());InetAddress clientAddress = receivePacket.getAddress();int clientPort = receivePacket.getPort();System.out.println("收到来自 " + clientAddress + ":" + clientPort + " 的消息: " + message);// 4. 发送响应String response = "UDP服务器已收到: " + message;byte[] sendData = response.getBytes();DatagramPacket sendPacket = new DatagramPacket(sendData, sendData.length, clientAddress, clientPort);socket.send(sendPacket);}} catch (IOException e) {e.printStackTrace();}}
}

五、常见应用场景

  1. 即时通讯:如聊天软件(TCP)。
  2. 文件传输:如 FTP(TCP)。
  3. 实时游戏:如多人在线游戏(UDP)。
  4. Web 服务:如 REST API 调用(HTTP)。
  5. 分布式系统:如微服务间通信(HTTP/2)。

六、注意事项

  1. 异常处理:网络操作需捕获IOException
  2. 资源管理:使用try-with-resources确保 Socket 关闭。
  3. 多线程:TCP 服务器需为每个客户端创建独立线程。
  4. 缓冲区大小:UDP 数据包大小受限于 MTU(通常≤65507 字节)。
  5. 性能优化:使用 NIO(非阻塞 IO)处理高并发场景。

网络编程是 Java 企业级开发的核心技能,掌握 TCP/UDP 通信原理和 HTTP 协议对构建分布式系统至关重要。

http://www.dtcms.com/wzjs/837063.html

相关文章:

  • 淮北做网站的公司有哪些wordpress自带搜索
  • 烟台企业自助建站系统广州旅游网站建设设计公司
  • 山西省三基建设办公室网站视频拍摄收费标准
  • 山东企业建站系统费用wordpress wiki知识库
  • 做网站要学哪些懂做网站怎么赚钱
  • 银川网站公司金融做推广的网站
  • 全屏网站设计技巧iis如何建立网站
  • 揭阳建设网站做网站的怎么赚钱
  • 如何做网站自适应网页制作行为特效视频教程
  • 公司网站建设小江免费制作视频的软件手机版
  • 电商网站开发 参考文献揭阳公司做网站
  • 佛山网站建设团队海淀区城市建设档案馆网站
  • 妇科医院手机网站源码培训班网站建设
  • 上海网站建设索王道下拉关于计算机网站建设的论文
  • 我要招人在哪个网站招百度优化大师
  • error 403 网站拒绝显示做一个网站花多少钱
  • 在青岛做阿里巴巴网站找谁设计人才网站
  • 深圳做英文网站网站备案是备案域名还是空间
  • 上海做网站 公司 哪家好seo 优化一般包括哪些内容
  • 电脑做网站端口映射怎么用链接进自己做的网站
  • 商丘网站建设专业现状100到300万企业所得税
  • 网站后台文章添加成功 不显示毕业设计可以做网站不
  • 迈诺网站建设微信营销和网站建设
  • 建设产品网站课程设计网络舆情监测专业就业前景
  • 潍坊高新区建设局网站网站建设的 文献综述
  • 网站建设公司如何进行工作景区网站建设方案 费用
  • 黄石网站建设报价永州网站网站建设
  • 响应式网站建设定制上海高凡猎头公司
  • 武安市网站建设费用重庆建设工程安全监督信息网官网
  • 北京品牌设计公司seo怎么推广