• Socket 原理篇


    Socket:

      

      socket "插座"的意思,作为进程通信机制,用于描述IP地址和端口,是一个通信链的句柄(两个程序通信用的)

      在Internet上有很多这样的主机,这些主机一般运行了多个服务软件,同时提供几种服务,每种服务都打开一个Socket,并绑定到一个端口上,不同的端口对应不同的服务

      http使用80端口 ftp使用 21 端口 smtp使用23端口

    Socket有两种类型

      1.Stream

      一种面向连接的Socket,针对于面向连接的TCP服务应用,安全,效率低

      2.DataGram 数据报式

      一种无连接的socket,对应物连接的UDP服务应用,不安全(丢失,顺序混乱,在接受端要分析重排及要求重发),但效率高

     

    Socket一般运用模式(服务端 和客户端)

      服务端Socket

        一个负责接受客户端连接请求,不负责与客户端通信

        每成功接收到一个客户端的连接请求,并产生一个对应的套接字

      客户端Socket  

        必须指定要连接的服务端地址和端口

        通过创建一个Socket对象来初始化一个到服务器端的TCP连接

     

    Socket通信过程

      服务端:

        申请一个socket

        绑定到一个IP和端口

        开启监听,等待连接

      客户端:

        申请一个socket  

        连接服务器 需指定一个IP和端口

      服务器端接到连接请求后,产生一个新的socket与客户端建立连接并进行通讯,原监听Socket 继续监听

     

     

  • 相关阅读:
    2017D 方格分割
    2017B 等差素数列
    完全平方数
    K-th Number(二分答案+尺取法判断)
    cf634div3
    performSelector: 与 dispatch_time 异同
    UIButton 的属性与方法
    Node.js 学习笔记三
    [2019杭电多校第一场][hdu6578]Blank(dp)
    [2019杭电多校第一场][hdu6582]Path(最短路&&最小割)
  • 原文地址:https://www.cnblogs.com/chenanzixue/p/3465106.html
Copyright © 2020-2023  润新知