linux网络编程之基础模型

      最后更新:2022-02-07 11:06:24 手机定位技术交流文章

      目录

        • 客户端,服务器通信模型
        • 创建套接字
        • 命名套接字
        • 创建套接字队列
        • 接受连接
        • 请求连接
        • 服务端程序
        • 客户端程序

      客户端,服务器通信模型

      在这里插入图片描述

      创建套接字

      domain:协议族
      AF_UINX(本地套接字),
      AF_INET(网络套接字)
      type:套接字通信类型
      SOCK_STREAM:有序,可靠,面向连接的双向字节流
      SOCK_STRDGRAM数据报服务,UDP
      protocol:使用的协议

      命名套接字

      bind系统调用把参数address中的地址分配给与文件描述符socket关联的未命名套接字

      创建套接字队列

      为了在套接字上接受进入的连接,服务器需要创建一个队列来保持未处理的请求

      接受连接

      一旦服务器程序创建并命名了套接字后,它就可以通过accept系统调用来等待客户建立套接字连接。

      如果套接字队列中有没有处理的连接,accept将阻塞直到有客户建立连接为止。可以通过对套接字设置O_NONBLOCK标志来改变这一行为

      请求连接

      客户程序通过在一个未命名套接字和服务器监听套接字之间建立连接的方法来连接到服务器

      参数socket指定的套接字将连接到参数address指定的服务器套接字。

      服务端程序

      1)打印客户端的ip与port
      2)将接收到的数据进行大写转换并回显

      服务端

      客户端

      客户端程序

      注:inet_pton(AF_INET,“127.0.0.1”,&serv_addr.sin_addr);

      服务端

      客户端

      本文由 在线网速测试 整理编辑,转载请注明出处,原文链接:https://www.wangsu123.cn/news/17946.html

          热门文章

          文章分类