UDP通信,TCP通信

Posted god3064371

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了UDP通信,TCP通信相关的知识,希望对你有一定的参考价值。

UDP发送端

  byte[] bytes="hello".getBytes();
       InetAddress inet=InetAddress.getByName("127.0.0.1");
       //明确传输内容,长度,目标地址,目标端口
       DatagramPacket dp=new DatagramPacket(bytes,bytes.length,inet,8888);
       DatagramSocket ds=new DatagramSocket(); //创建DatagramSocket对象,负责发送数据包
       ds.send(dp);//发送包
       ds.close();

UDP接收端

DatagramSocket ds=new DatagramSocket(8888);//端口号
        byte[] bytes=new byte[1024];
        DatagramPacket dp=new DatagramPacket(bytes,bytes.length);
        //dp传给ds接数据
        ds.receive(dp);
        //getAddress()获取为inet对象
        String ip=dp.getAddress().getHostAddress();//拆包,先获取Inet对象
        String host=dp.getAddress().getHostName();
        int port=dp.getPort();
        byte[] data=dp.getData();
        int length=dp.getLength();
        ds.close();

TCP客户端

        Socket socket=new Socket("127.0.0.1",6666);//创建socket,明确目标ip,端口
        //从socket对象中获取字节输出流.将数据写向服务器
        OutputStream out=socket.getOutputStream();
        out.write("你好".getBytes());  
        //接收回应
        //获取字节输入流,接收服务器端的响应数据
        InputStream in=socket.getInputStream();
        byte[] bytes=new byte[1024];
        int len=in.read(bytes);
        System.out.println(new String(bytes,0,len));  
        socket.close();

TCP服务端

        ServerSocket server=new ServerSocket(6666);//创建ServerSocket对象,明确端口号
        //与客户端创建连接并获取客户端对象
        Socket socket=server.accept();
        //字节输入流
        InputStream in=socket.getInputStream();
        byte[] bytes=new byte[1024];
        int len=in.read(bytes);
        System.out.println(new String(bytes,0,len));
        //给客户端返回响应
        //获取字节输出流
        OutputStream out=socket.getOutputStream();
        out.write("收到".getBytes());
        server.close();

 

以上是关于UDP通信,TCP通信的主要内容,如果未能解决你的问题,请参考以下文章

网络通信协议:TCP(三次握手四次挥手)和UDP

UDP通信,TCP通信

通信协议 HTTP TCP UDP

Socket 通信之 UDP 通信

TCP/UDP简易通信框架源码,支持轻松管理多个TCP服务端(客户端)UDP客户端

27.Socket,TCP,UDP,HTTP基本通信原理