自用 Java 学习(网络编程)

网络的三要素

ip地址:表示网络中设备的唯一标识
    ipv4: 由4个字节组成,采用点分十进制表示法
        举例:192.168.66.202
     ipv6: 由16个字节组成,采用冒分十六进制表示法
        举例:fb34:66:77:ac:3f
     
    常用的命令:
        ipconfig: 查看本机的ip地址
        ping: 检测网络和指定的ip是否连通

端口号:表示某一台主机上应用程序的表示,是一个[0,65535]范围内的整数。
       0~1023的端口号可能会被占用,建议使用1024之后的端口号。

协议:网络中数据传输的规则
      UDP: 面向无连接的,不安全的协议,每次传输64KB的数据
       TCP: 面向有连接,安全的协议,传输数据的大小没有限制。

InetAddress类

public static InetAddress getByName(String host) 
    在给定主机名的情况下确定主机的 IP 地址。
public String    getHostAddress() 
    返回 IP 地址字符串(以文本表现形式)举例:"192.168.83.44"
public String    getHostName() 
    获取此 IP 地址的主机名。

//获取ip地址对象
InetAddress inetAddress = InetAddress.getByName("192.168.83.192");

//获取主机地址
String address = inetAddress.getHostAddress(); 

//获取主机名
String hostName = inetAddress.getHostName();

UDP通信

UDP发送端

1.创建DatagramSocket对象(码头)
2.创建DatagramPacket对象(包裹)
    需要制定ip地址和端口号
3.调用send方法,发送数据(把包裹交给码头)
4.调用close方法,释放资源(关闭码头)


public class Sender {
    public static void main(String[] args) throws IOException {
        //1.创建DatagramSocket对象(码头)
        DatagramSocket ds=new DatagramSocket();

        //2.创建DatagramPacket对象(包裹)
        //准备发送的数据
        System.out.println("请输入要发送的数据:");
        String str = sc.next();
        byte[] bs=str.getBytes();
        //发送数据的长度
        int len=bs.length;
        //指定接收的ip地址
        String ip="127.0.0.1";
        //指定接收的端口号
        int port=10086;
        DatagramPacket packet=new DatagramPacket(bs,len, InetAddress.getByName("127.0.0.1"),port);

        //3.调用send方法,发送数据(把包裹交给码头)
        ds.send(packet); 

        //4.调用close方法,释放资源(关闭码头)
        ds.close(); 
    }
}

UDP接收

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值