zoukankan      html  css  js  c++  java
  • C/C++网络编程4——实现基于TCP的服务器端/客户端1

    一、TCP服务器调用顺序:

       调用socket函数创建套接字;声明并初始化地址信息结构体变量;调用bind函数向套接字分配地址;调用listen函数进入等待连接请求状态,只有调用了listen函数后客户端才能调用connet函数,调用listen函数时,若请求队列为空,listen函数不会返回。

    #include <sys/socket.h>
    
    // 成功返回0,失败返回-1 int listen(int sock, int backlog); sock : 希望进入等待连接请求状态的套接字文件描述符 backlog : 请求等待队列的长度

      调用listen函数以后,若有连接请求,则应调用accept函数按序受理。

    #include <sys/socket.h>
    
    // 成功返回创建的套接字文件描述符,失败返回-1 int accept(int sock, struct sockaddr * addr, socklen_t * addrlen); sock : 服务器套接字的文件描述符 addr : 保存发起连接请求的客户端地址信息的变量地址值 addrlen : 保存参数addr结构体的长度

    二、TCP客户端调用顺序:

    #include <sys/socket.h>
    
    int sonnect(int sock, struct sockaddr * aservaddr, socklen_t addrlen);
    sock : 客户端套接字文件描述符
    servaddr : 服务器端地址
    addrlen : 服务器端地址长度

      客户端的IP地址和端口在调用connect函数的时候自动分配,无需调用标记的bind函数进行分配。

    三、TCP服务器端和客户端函数调用关系:

  • 相关阅读:
    1203 forms组件
    1128 聚合查询 orm字段及属性
    1127 模型层orm表操作
    1126 视图层与模板层
    1122 django中orm操作
    1121 Django操作
    1125 视图层
    搭建并行开发环境MPICH2
    Linpack之HPL测试 (HPL Benchmark)
    安装NetCDF及HDF5
  • 原文地址:https://www.cnblogs.com/418ks/p/11651836.html
Copyright © 2011-2022 走看看