Java:网络编程基础

网络通信的三个条件
  • IP地址
    网络中设备的标识,不易记忆,可用主机名
  • 端口
    用于标识进程的逻辑地址,不同进程的标识
  • 协议
    通讯的规则,如TCP,UDP

IP地址

IP地址的组成:网络号+主机号共4×8 32位

A类IP地址:第一段号码为网络号码,后三段号码为本地计算机的号码
B类IP地址:前二段号码为网络号码,后二段号码为本地计算机的号码
C类IP地址:前三段号码为网络号码,后一段号码为本地计算机的号码
D类 E类 保留

特殊地址
127.0.0.1 回环地址,代表本机

xxx.xxx.xxx.0 网络地址
xxx.xxx.xxx.255 广播地址

A类 1.0.0.1—127.255.255.254 (1)10.X.X.X是私有地址(私有地址就是在互联网上不使用,而被用在局域网络中的地址) (2)127.X.X.X是保留地址,用做循环测试用的。
B类 128.0.0.1—191.255.255.254 172.16.0.0—172.31.255.255是私有地址。169.254.X.X是保留地址。
C类 192.0.0.1—223.255.255.254 192.168.X.X是私有地址
D类 224.0.0.1—239.255.255.254
E类 240.0.0.1—247.255.255.254

DOS命令
ipconfig:查看本机IP地址
ping IP 测试本机与目的的连通性


端口号
  • 物理端口 网卡端口
  • 逻辑端口
    每个网络程序至少有一个逻辑端口
    用于标识进程的逻辑地址,至少有一个逻辑端口
    有效端口:065535,其中01024系统使用或保留端口

协议
  • UDP
    数据打包 大小在限制在64K
    不建立连接
    不可靠
    速度快
  • TCP
    建立连接,形成传输数据的通道
    可进行大数据量传输
    可靠
    因建立连接,速度稍慢

Java下的网络编程
  • InetAddress类
//类方法
getByAddress(byte[] addr)//根据原始IP地址返回地址
getByAddress(String host,byte[] addr)//根据提供的主机名和IP地址返回地址
getByName()//根据主机名获取地址
getLocalHost()//获取本机地址
getLoopbackAddress()//返回回送地址   Windows中127.0.0.1作为本地回送地址
  • URL类
    待补充

  • Socket类

Socket:即(套接字),网络上具有唯一标识的IP地址和端口号组合在一起即构成唯一能识别的套接字
Socket通信机制:
  a.通信的两端都有Socket
  b.网络通信其实就是Socket间的通信
  c.数据在两个Socket间通过I/O流传输

Socket类实现了客户端Socket,SeverSocket类实现了服务器端的Socket
通讯机制如下图,其中I/O流类型应相同(相对于字符流,字节流)

Socket通信原理


2018/8/8

原文地址:https://www.cnblogs.com/kafm/p/12721847.html