java基础之网络编程

1. 网络编程的目的

       直接或间接地通过网络协议与其它计算机实现数据交换,进行通讯。

2.网络编程遇到的问题
  1.         如何准确地定位网络上一台或多台主机? IP地址
  2.         定位主机上的特定的应用?端口号
  3.         找到主机后如何可靠高效地进行数据传输?网络通信协议
3.什么是IP地址

                Internet 上的计算机(通信实体)的唯一的标识。

4. IP地址分类
        4.1 IPV4和IPV6

                IPV4:4个字节组成,4个0-255。大概42亿,30亿都在北美,亚洲4亿。2011年初已 经用尽。以点分十进制表示,如192.168.0.1

                IPV6:128位(16个字节),写成8个无符号整数,每个整数用四个十六进制位表示, 数之间用冒号(:)分开,如:3ffe:3201:1401:1280:c8ff:fe4d:db39:1984

        4.2 公网地址(万维网使用)和私有地址(局域网使用)

                192.168. 开头的就是私有址址,范围即为192.168.0.0--192.168.255.255,专门为组织机 构内部使用

5.本地回环地址(hostAddress)和主机名(hostName)

        本地回环地址(hostAddress):127.0.0.1

        主机名(hostName):localhost

6.域名

                IP地址不容易记忆,域名容易记忆,例如:www.baidu.com。当在连接网络时输入一个主机的域名后,域名服务器(DNS) 负责将域名转化成IP地址,这样才能和主机建立连接。

7. 端口号
  1. 端口号标识正在计算机上运行的进程(程序)。
  2. 不同的进程有不同的端口号
  3. 被规定为一个16 位的整数0~65535。
        7.1 端口号分类
  1. 公认端口:0~1023。被预先定义的服务通信占用(如:HTTP占用端口 80,FTP占用端口21,Telnet占用端口23)
  2. 注册端口:1024~49151。分配给用户进程或应用程序。(如:Tomcat占 用端口8080,MySQL占用端口3306,Oracle占用端口1521等)。
  3. 动态/私有端口:49152~65535。
        7.3 端口号常见问题

                如果当前程序的端口号被另一个服务或者应用占用,会导致当前的程序启动失败。

8. 网络传输协议

                目的是为了实现可靠高效的数据传输。

9.网络参考模型

        OSI模型和TCP/IP模型

10. InetAddress类

                主要表示IP地址

    @Test
    public void testInetAddress() throws UnknownHostException {
        InetAddress inetAddress1 = InetAddress.getByName("127.0.0.1");      //获取指定IP
        System.out.println(inetAddress1);
        InetAddress inetAddress2 = InetAddress.getByName("www.baidu.com"); //获取指定域名
        System.out.println(inetAddress2);
        InetAddress inetAddress3 = InetAddress.getLocalHost();                   //获取本机
        System.out.println(inetAddress3);
    }
11.TCP协议和UDP协议
        11.1 TCP协议
  1. TCP协议进行通信的两个应用进程:客户端、服务端。                
  2. 使用TCP协议前,须先建立TCP连接,形成传输数据通道。
  3. 传输前,采用“三次握手”方式,点对点通信,是可靠的。
  4. 在连接中可进行大数据量的传输。
  5. 传输完毕,需释放已建立的连接,效率低。
        11.2 UDP协议
  1. 将数据、源、目的封装成数据包,不需要建立连接。
  2. 每个数据报的大小限制在64K内。
  3. 发送不管对方是否准备好,接收方收到也不确认,故是不可靠的。
  4. 可以广播发送。
  5. 发送数据结束时无需释放资源,开销小,速度快。
        11.3 TCP协议的三次握手和四次挥手

12 Socket

        网络上具有唯一标识的IP地址和端口号组合在一起才能构成唯一能识别的标 识符套接字。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值