• Socket 学习


    Socket一般应用模式(服务器端和客户端)
    服务器端Socket(至少有两个)
    ->一个负责接收客户端连接请求(但不负责和客户端通信)
    ->没成功接收到一个客户端的连接便在服务端生成一个对应的负责通信的Socket
    ->在接收到客户端连接时创建
    ->为每个连接成功的客户端请求在服务端创建一个对应的Socket(负责和客户端通信)
    客户端的Socket
    ->必须指定要连接的客户端地址和端口
    ->通过创建Socket对象来初始化一个到服务器端的TCP连接

    Socket通讯过程
    服务器端
    申请一个Socket
    绑定一个IP地址和一个端口号
    开启监听,等待接受连接
    客户端的
    申请一个Socket
    连接服务器(指明iP地址和端口号)
    服务器端接到连接请求后,产生一个新的与客户端连接并通讯,原监听Socket继续监听。

    Socket构造函数--它其实在.net中就是一个类,封装类操作系统的一个函数,就是Socket函数
    public Socket(AddressFamily addressFamily,SocketType socketType,ProtocolType protocolType);
    AddressFamily成员指定 Socket用来解析地址的寻址方案, 例如InterNetwork 指示当Socket使用一个IP版本4地址连接
    SocketType要打开的Socket类型
    Socket类使用ProtocolType枚举向Windows Socket API通知所请求的协议

    例如

    mySocket=new Socket(AddressFamily.InterNetword,SocketType.Stream,ProtocolType.Tcp)



    线程能执行的方法由两种形式,这个参数必须是object
    1.无参无返回值
    2.有参无返回值

    ocket方法--------发送文字消息
    相关类:
    IPAddress类:包含了一个IP地址
    IPEndPoint类:包含了一个IP地址和端口号
    方法:
    Socket():创建一个Socket
    Bind():绑定一个本地的IP和端口号(IPEndPoint)
    Listen():让Socket侦听传入的连接尝试。并指定侦听队列容量
    Connet():初始化与另一个Socket的连接
    Accept():接收连接并返回一个新的socket
    send():输出数据到Socket
    Receive():从Socket中读取数据
    Close():关闭Socket(销毁连接)

  • 相关阅读:
    Python3学习之路~8.5 SocketServer实现多并发
    Python3学习之路~8.4 利用socket实现文件传送+MD5校验
    [jzyzoj2021]lca模板题
    [BZOJ4542] [JZYZOJ2014][Hnoi2016] 大数(莫队+离散化)
    BZOJ3289[JZYZOJP2018]: Mato的文件管理 莫队+树状数组+离散化
    离散化的后续
    数据离散化 ( 以及 stl 中的 unique( ) 的用法 )+ bzoj3289:Mato的文件管理
    stl upper_bound()
    [BZOJ 3720][JZYZOJ 2016]gty的妹子树 强制在线 树分块/树套树
    所以学树分块的时候为什么要看vector啊sjb
  • 原文地址:https://www.cnblogs.com/Maxq/p/5872690.html
Copyright © 2020-2023  润新知