zoukankan      html  css  js  c++  java
  • 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();
  • 相关阅读:
    软件概要设计
    项目文件-搭建工程
    select标签中设置只读几种解决方案
    PHP ob缓冲区函数的使用
    laravel笔记
    ubuntu系统更新命令
    RBAC权限控制系统
    laravel 数据库获取值的常用方法
    php中获取数据 php://input、$_POST与$GLOBALS['HTTP_RAW_POST_DATA']三者的区别
    php 文件上传 $_FILES 错误码
  • 原文地址:https://www.cnblogs.com/god3064371/p/11743470.html
Copyright © 2011-2022 走看看