zoukankan      html  css  js  c++  java
  • TCP学习之一:TCP网络编程概念

    参考学习张子阳大神的博客:http://www.cnblogs.com/JimmyZhang/category/101698.html

    一、TCP

    • 面向连接的(UDP是无连接的)
    • 全双工,建立连接之后,双方都可以使用现有的连接收发数据
    • 三次握手
     
    二、 TCP属于传输层,应用层如何使用传输层的协议?
    • 套接字分离应用层、传输层的接口
        
    • 一方发起连接,另一方对本地端口帧听,连接建立后发起连接一方不需要再帧听
    • 发起连接为客户端,帧听方为服务端
    • TCPLietener持续监听端口,接收到连接请求后创建TCPClient,只有服务端在使用
    • TCPClient用于接发数据
     
    三、网络聊天的三种模式
     
    1. UDP广播 + 点对点
    • 每台终端都是服务器
    • 某一台终端上线时,使用UDP进行广播,告知其它终端自己的位置(地址、端口)
    • 各终端保持对端口侦听

    2. 服务器模式一(服务器广播位置)
    • 某一终端上线时,先连接服务器,服务器将终端的位置广播,终端之间建立连接,通信不经过服务器
    • 各终端、服务器保持对端口的侦听

    3. 服务器模式二
    • 终端之间通信都经过服务器(qq聊天),服务器可缓存文件(QQ发送离线文件)
    • 对于较大文件,临时搭建主机见的通信(QQ发送文件)
    • 各终端不用帧听,服务器保持帧听
     
  • 相关阅读:
    QPS的优化
    面试题
    py-redis
    集群化的部署
    RESTful设计
    python第三方库------jieba库(中文分词)
    csv文件读写处理
    python中的turtle库(图形绘画库)
    html中form表单的使用方法和介绍
    WC2019
  • 原文地址:https://www.cnblogs.com/fuyunzzy/p/5655530.html
Copyright © 2011-2022 走看看