UDP 无连接上机案例3.4

举报
tea_year 发表于 2021/12/30 01:18:12 2021/12/30
【摘要】 import java.io.IOException;import java.net.DatagramPacket;import java.net.DatagramSocket;import java.net.InetAddress;import java.net.SocketException; public class UDPSer...

  
  1. import java.io.IOException;
  2. import java.net.DatagramPacket;
  3. import java.net.DatagramSocket;
  4. import java.net.InetAddress;
  5. import java.net.SocketException;
  6. public class UDPServer {
  7. public static void main(String[] args) {
  8. //1.创建服务器端的DatagramSocket数据包,
  9. try {
  10. DatagramSocket datagramSocket=new DatagramSocket(8800);
  11. //2.创建数据报,用于接受用户传送过来的数据;存放于字节数组;
  12. byte[]bytes=new byte[1024];
  13. DatagramPacket datagramPacket=new DatagramPacket(bytes,bytes.length);
  14. System.out.println("*****服务器端已经启动****");
  15. //使用receive方法接受;
  16. datagramSocket.receive(datagramPacket);
  17. //4.读取数据;
  18. String info=new String(bytes,0,datagramPacket.getLength());
  19. //5.输出信息;
  20. System.out.println("服务器,客户端信息为:"+info);
  21. //升级之后,服务器端响应客户端;
  22. InetAddress address=datagramPacket.getAddress();
  23. int port=datagramPacket.getPort();
  24. byte[]sinfo="欢迎您".getBytes();
  25. //升级2.创建数据报,包含socket信息;
  26. DatagramPacket packet=new DatagramPacket(sinfo,sinfo.length,address,port);
  27. // 升级3;
  28. datagramSocket.send(packet);
  29. //关闭资源;
  30. datagramSocket.close();
  31. } catch (SocketException e) {
  32. e.printStackTrace();
  33. } catch (IOException e) {
  34. e.printStackTrace();
  35. }
  36. }
  37. }

客户端代码:


  
  1. import java.io.IOException;
  2. import java.net.*;
  3. public class UDPClient {
  4. public static void main(String[] args) {
  5. //1.定义服务器的地址、端口号、数据;
  6. try {
  7. InetAddress address=InetAddress.getByName("localhost");
  8. int port=8800;
  9. byte[]data="用户名:admin,密码:123".getBytes();
  10. //2.创建数据报,包含发送的数据信息,可以使用带有4个参数的方法;
  11. DatagramPacket datagramPacket=new DatagramPacket(data,data.length,address,port);
  12. //3.创建DatagramSocket对象;
  13. DatagramSocket datagramSocket=new DatagramSocket();
  14. //4.向服务器发送数据;
  15. datagramSocket.send(datagramPacket);
  16. 升级之后代码段;
  17. byte[]data2=new byte[1024];
  18. DatagramPacket packet2=new DatagramPacket(data2,data2.length);
  19. //2.接受服务器响应的数据 ;
  20. datagramSocket.receive(packet2);
  21. //3.读取数据;
  22. String reply=new String(data2,0,packet2.getLength());
  23. System.out.println("我是客户端,服务器端说:"+reply);
  24. //4.关闭资源;
  25. datagramSocket.close();
  26. } catch (UnknownHostException e) {
  27. e.printStackTrace();
  28. } catch (SocketException e) {
  29. e.printStackTrace();
  30. } catch (IOException e) {
  31. e.printStackTrace();
  32. }
  33. }
  34. }

服务端为:

文章来源: aaaedu.blog.csdn.net,作者:tea_year,版权归原作者所有,如需转载,请联系作者。

原文链接:aaaedu.blog.csdn.net/article/details/88102224

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。