蚊子132 和你一起了解java中的socket网络编程

地址:蚊子132 和你一起了解java中的socket网络编程

蚊子132 和你一起了解java中的socket网络编程,大家都知道java中的socket网络编程,而其采用的协议分别有tcp和udp协议两种.

通常的理解tcp协议类似于打电话,udp类似于发短信.前者是线程安全的,但是效率比较低.后者则刚好相反.

今天就做个demo来了解一下udp网络编程.

首先是客户端:

  1. package javasocket.demo;

  2. import java.net.DatagramPacket;
  3. import java.net.DatagramSocket;
  4. import java.net.InetSocketAddress;

  5. /**
  6. * 1.创建客户端
  7. * 2.准备数据
  8. * 3.打包数据
  9. * 4.发送数据
  10. * 5.关闭
  11. * @author Administrator
  12. *
  13. */
  14. public class UdpSocketClientDemo {

  15.     public static void main(String[] args) throws Exception {
  16.         //客服端
  17.         DatagramSocket client=new DatagramSocket(8000);
  18.         String msg="UDP";
  19.         byte[] data =msg.getBytes();
  20.         DatagramPacket dp=new DatagramPacket(data, data.length,new InetSocketAddress("localhost",8888));
  21.         client.send(dp);
  22.         client.close();
  23.     }
  24. }
复制代码

服务器:

  1. package javasocket.demo;

  2. import java.net.DatagramPacket;
  3. import java.net.DatagramSocket;

  4. /**
  5. * 服务端
  6. * 1.创建服务端和接口
  7. * 2.准备接受容器
  8. * 3.封装成包
  9. * 4.接受数据
  10. * 5.分析数据
  11. * 6.关闭
  12. * @author bgt
  13. *
  14. */
  15. public class UdpSocketServerDemo {

  16.     public static void main(String[] args) throws Exception {
  17.         //服务端
  18.         DatagramSocket server=new DatagramSocket(8888);
  19.         byte[] container=new byte[1024];
  20.         DatagramPacket dp=new DatagramPacket(container, container.length);
  21.         server.receive(dp);
  22.         byte[] data=dp.getData();
  23.         int len=dp.getLength();
  24.         System.out.println(new String(data,0,len));
  25.         server.close();
  26.     }
  27. }
复制代码




你可能感兴趣的:(java,exception,socket,线程安全,网络编程)