网络编程---获取ip地址 使用UDP协议发送与接收数据

获取ip地址

import java.io.IOException;
import java.net.InetAddress;
//inetAddress类演示,它主要是封装关于Ip的类
public class IpClass{
    public static void main(String[] args) throws IOException{
        InetAddress ip=InetAddress.getByName("172.27.35.1");//该类没有构造方法,无法创建对象,通过类名来调用方法
        String st_ip=ip.getHostAddress();//该方法返回的是字符串类型的ip地址
        String name=ip.getHostName();//改方法返回的是主机名
        System.out.println(st_ip+"---"+name);
    }
}

UDP协议发送端

import java.io.IOException;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;
public class UDPclass{
    public static void main(String[] args) throws IOException{
        //创建发送端对象,此类无法对对象进行包装,发送对象需要对数据进行打包
        String value ="我是一个有用的资源";
        DatagramSocket d=new DatagramSocket();
        //为打包数据准备资源
        byte[] b=value.getBytes();
        InetAddress ip=InetAddress.getByName("172.27.35.1");
        DatagramPacket da=new DatagramPacket(b,b.length,ip,8080);
        d.send(da);
        d.close();
    }
}

UDP协议接收端


import java.io.IOException;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;

public class UDPclass2 {
    public static void main(String[] args) throws IOException {
        // 创建接收端对象
        DatagramSocket d = new DatagramSocket(8080);
        // 创建一个数组来存放发送过来的数据
        byte[] bt = new byte[1024];
        // 对数据进行拆包
        DatagramPacket dg = new DatagramPacket(bt, bt.length);
        // 拆完包后就可以进行接收数据了
        d.receive(dg);
        // 对接受过来的数据进行处理
        int length = dg.getLength();
        InetAddress ip = dg.getAddress();
        String ip_st = ip.getHostAddress();
        int poirt = dg.getPort();
        System.out.println(length + "--" + ip_st + "--" + poirt);
        d.close();
    }
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 11.1 引言 UDP是一个简单的面向数据报的运输层协议:进程的每个输出操作都正好产生一个UDP数据报,并组装成一...
    张芳涛阅读 7,920评论 1 6
  • 1.这篇文章不是本人原创的,只是个人为了对这部分知识做一个整理和系统的输出而编辑成的,在此郑重地向本文所引用文章的...
    SOMCENT阅读 14,480评论 6 174
  • 个人认为,Goodboy1881先生的TCP /IP 协议详解学习博客系列博客是一部非常精彩的学习笔记,这虽然只是...
    贰零壹柒_fc10阅读 10,486评论 0 8
  • 同样的,本文篇幅也比较长,先来一张思维导图,带大家过一遍。 一、 计算机网络体系结构分层 二、 TCP/IP 基础...
    涤生_Woo阅读 65,763评论 38 1,037
  • 我很喜欢 meta- 这个前缀。它的意思是“之上,之后”,经常被翻译成“元”。比如说“元知识”,就是关于知识的知识...
    alabiubiubiu阅读 4,472评论 1 19

友情链接更多精彩内容