• UDP网络通信反复发&收


    1. package UDP2;
    2. import java.net.DatagramPacket;
    3. import java.net.DatagramSocket;
    4. import java.net.InetAddress;
    5. import java.util.Scanner;
    6. /*
    7. * 完成UDP 通信快速入门 实现发1收1*/
    8. public class Client {
    9. public static void main(String[] args) throws Exception{
    10. // 1创建客户端对象
    11. DatagramSocket socket= new DatagramSocket();
    12. //2创建数据包对象封装要发出去的数据
    13. /* public DatagramPacket(byte buf[], int length,
    14. InetAddress address, int port)
    15. 参数一 封装要发出去的数据
    16. 参数二 我要发的参数大小
    17. 参数三 服务端IP地址
    18. 参数四 服务端端口
    19. */
    20. Scanner sc=new Scanner(System.in);
    21. while (true) {
    22. System.out.println("请说:");
    23. String msg= sc.nextLine();
    24. byte[] bytes= msg.getBytes();
    25. // 用户输入exit命令 退出客户端
    26. if ("exit".equals(msg)){
    27. System.out.println("欢迎下次光临! 退出成功!");
    28. socket.close(); //释放资源
    29. break; //跳出去循环
    30. }
    31. DatagramPacket packet =new DatagramPacket(bytes,bytes.length,
    32. InetAddress.getLocalHost(),6666);
    33. // 3:开始正式发送数据包的数据发出去
    34. socket.send(packet);
    35. }
    36. }
    37. }
    1. package UDP2;
    2. //完成UDP通信服务端
    3. import java.net.DatagramPacket;
    4. import java.net.DatagramSocket;
    5. public class Server {
    6. public static void main(String[] args) throws Exception{
    7. //1创建一个服务端对象
    8. System.out.println("---------服务端启动---------");
    9. DatagramSocket socket= new DatagramSocket(6666);
    10. //2 创建数据对象用接收数据
    11. byte [] buffer=new byte[1024*64]; //1KB * 64= 64KB
    12. DatagramPacket packet=new DatagramPacket(buffer,buffer.length);
    13. while (true) {
    14. //3:开始正式设用数据包接收客户端发来的数据
    15. socket.receive(packet);
    16. //4:字节数组中的数据打印出来
    17. //接收多少倒出多少
    18. int lin= packet.getLength();
    19. String rs=new String(buffer,0,lin);
    20. System.out.println(rs);
    21. System.out.println(packet.getAddress().getHostAddress());
    22. System.out.println(packet.getPort());
    23. System.out.println("============================================");
    24. }
    25. }
    26. }

  • 相关阅读:
    一个引发openssl崩溃问题案例
    线上环境建设,要扛得住真刀真枪的考验
    format前端转义
    Redis过期策略2020-架构师(六十三)
    mathtype中的制表位设置、公式编号靠右对齐
    关于 Apache Spark 的参数设置,用于优化和调整 Spark 应用程序的行为和性能
    HTTP响应详解
    国标视频平台搭建(五)设备接入
    手把手教你语音识别(二)
    求Π的近似值(基础例题
  • 原文地址:https://blog.csdn.net/m0_46290090/article/details/133987113