6.25Java网络编程之传输协议

6.25Java网络编程之传输协议

什么是协议?

传输数据的标准

传输层的协议

  • TCP(transfer control protocol)

    • 面向连接(连接导向)的、可靠的、基于字节流的运输层(Transport layer)通信协议

      • 特点

        • 面向连接

        • 点到点的通信

        • 高可靠性

        • 占用系统资源多、效率低

        • 三次握手、四次挥手(拓展细节)

    • 上层协议(应用层)

      • HTTP

      • ftp

      • SMTP(发邮件的)

  • UDP(User DatagramProtocol)

    • 无连接的传输层协议,提供面向事务的简单不可靠信息传送服务

      • 特点

        • 非面向连接、传输不可靠、可能丢失

        • 发送方不管对方是否准备好,接收方收到也不确认

        • 可以广播发送

        • 非常简单的协议,开销小

        • (有被拦截的风险)

    • 上层协议(应用层)

      • DNS(域名解析)

      • SNMP(简单网络协议--->监控、视频管理系统)

  • 网络应用程序位于应用层,TCP/UDP属于传输层协议。在应用层和传输层之间使用套接字来进行分离。

    • Scoket--->关注内部监视节点

    • 可以理解为传输层为应用层开的一个小接口(拓展细节)

    • 具体如图:

SOCKET编程

基于TCP协议的Socket编程
  • 通信双方需要建立连接--->先建服务器,在建客户端

  • 连接建立时双方存在主次之分

基于UDP协议的Socket编程
  • 通信双方不需要建立连接

  • 通信双方完全平等

It's a lonely road!!!
原文地址:https://www.cnblogs.com/JunkingBoy/p/14934498.html