《Thinking in java》第23章--网络编程

一、主要内容
    1)通信要素:
        》IP和端口号:InetAdress类
        》网络通信协议:TCP网络通信协议、UDP网络通信协议
    2)URL编程
    3)网络编程的目的:
        直接或者间接地通过网络协议与其他计算机进行通信
    4)网络编程中有两个主要的问题:
        》如何准确的定位网络上一台或者多台主机
        》找到主机后如何可靠高效的进行数据传输
    5)如何实现网络中的主机互相通信:
        》通信双方地址
        》TCP/IP参考模型



二、浏览器输入url之后发生了什么?

https://www.cnblogs.com/xuan52rock/p/6845637.html

https://www.cnblogs.com/tisikcci/p/5866753.html

    0)URL解析:得到主要的域名,如www.baidu.com
    1)   DNS解析:
        在DNS解析之前,会先想本机hosts文件中查看输入域名是否绑定了ip,如果没有,则去访问DNS服务器
        DNS实际上是一个域名和IP对应的数据库。人们不会去记ip,就发明了域名

     

       2)向该IP地址发起TCP连接,并建立TCP连接(三次握手)

建立起连接之后,浏览器和服务器之间就可以请求和传输数据了!


 

   当然,在断开tcp连接时,要进行四次挥手

    3)浏览器和服务器之间请求和传输数据
    4)浏览器渲染页面

三、通讯要素之IP和端口
    IP:
    1)唯一标识Internet上的计算机
    2)本地回环地址:127.0.0.1 主机名:localhost
    端口:
    1)不同的进行占用不同的端口
    2)端口号0~65535。其中,每台机子的0~1023被预先定义的服务通信占用了(如Mysql占用了3306,http占用了80),所以,我们应该使用1024~65535这些端口中的某一个进行通信,以免发生端口冲突


    3)IP与端口号组成了网络套接字

四、通信要素之TCP网络通信协议和UDP网络通信协议
    1)内容:实现通信必须有一些约定,即通信协议,对速率、传输代码、代码结构、传输控制步骤、出错控制等制定标准
    2)传输层的两大协议TCP以及UDP:
    

     3)网络通信实际上是Socket之间的通信,TCP、UDP底层实现

TCP数据传输依靠套接字+流,UDP数据传输依靠数据报(含有数据信息以及地址信息)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值