java初级16(持续更新)

网络编程

网络编程
    IP
        定义节点,区分节点(互联网中的电子设备都可以通过IP定义)
        分类
            IPV4 ->4个字节->32位  IPV6 ->128位
        常识
            192.168.0.0~192.168.255.255 非注册IP,供组织内部使用的IP
            127.0.0.1 ->本地IP
            localhost ->本地域名
            IP->域名 : DNS服务器
    端口
        区分软件
            port
        常识
            0~65535表示端口号 2个字节
            统一协议下端口号不能冲突
            8000以下端口不建议使用,预留端口号
            常见端口号
                80 : http
                8080 : tomcat
                1521 : Oracle
                3306 : Mysql
        InetSocketAddress
            此类实现IP套接字地址(IP地址+端口号)
    URL
        统一资源定位符,向万维网上的“资源”的指针
        互联网的三大基石
            URL
            HTML
            HTTP
        组成
            1.协议 http
                getProtocol()
            2.域名 www.baidu.com
                getHost()
            3.端口 80
                getPort()
            4.资源 index.html
                getPath()
            5.数据 username=zhangsan&password=123
                getQuery()
            6.锚点 #a
                getRef()
    协议
        标准,规范,规则,合同
        传输层协议
            互联网中传输数据需要满足传输层协议
        UDP
            相当于写信, 只管写只管邮,协议简单,效率高  不安全  大小限制
        TCP
            相当于打电话, 安全,没有大小限制
    java.net网络包
        InetAddress
            表示IP地址

网页编程与网络编程的区别
    网页编程
        注重的是上层的应用
    网络编程
        注重是底层数据的传输

Socket
    套接字
        是传输层为应用层开辟的一个小口子
        同协议下Socket实现不同
        面向Socket编程
    UDP
        相当于写信|邮寄包裹   非面向连接的  只管写只管邮   协议简单,开销小,效率高   不安全   存在大小限制,一般不超过60k
            DatagramPacket 数据报包
            DatagramSocket 此类表示用于发送和接收数据报包的套接字。
            两端是平等,数据基于包裹,基于字节数组
        UDP协议实现基础的发送端
            1.定义我是发送端 DatagramSocket(int port) 构造一个数据报套接字并将其绑定到本地主机上的指定端口。
            2.准备数据
            3.数据打包
            4.发送端发送包裹  void send(DatagramPacket p) 从此套接字发送数据报包。
            5.关闭
        UDP协议实现基础的接收端
            1.定义我是接收端
            2.准备包裹用来接收数据
            3.接收端接收数据
            4.处理数据
            5.关闭
    TCP
        相当于打电话    面向连接   基于3次握手    安全  没有大小限制
            协议下传输数据
                客户端
                服务器
                基于IO
        协议实现客户端
            1.构建我是客户端 Socket(String host, int port)  IP+端口号指要连接的服务器的IP与端口
            2.基于IO操作
                1)获取输出流
                2)写出
                3)刷出
                4)关闭
            3.关闭
        协议实现服务端
            1.构建我是服务端  ServerSocket(int port)
            2.阻塞式监听 Socket accept() 侦听对此套接字的连接并接受它。
            3.IO操作
                1)获取输入流
                2)读入数据
                3)处理数据
                4)关闭
            4.关闭
        单向
            登录客户端
                1.构建我是客户端
                2.键盘接收用户名与密码
                3.基于IO操作向服务器发送数据
                    1)获取输出流
                    2)写出
                    3)刷出
                    4)关闭
                3.关闭
            实现服务端
                1.构建我是服务端
                2.阻塞式监听
                3.IO操作接收客户端数据
                    1)获取输入流
                    2)读入数据
                    3)处理数据
                    4)关闭
                4.关闭
        双向
            1.构建我是客户端
            2.键盘接收用户名与密码
            3.基于IO操作向服务器发送数据
            4.基于IO操作接收服务器响应的结果
            5.处理结果
            6.关闭

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值