zoukankan      html  css  js  c++  java
  • 简易web服务器

    1.设定服务器端口号,获取服务器IP地址。

    2.创建服务器监听socket     socket();

    3. 连接服务器socket和端口号      bind();

    4. 让服务器socket处于监听状态     listen();

    5. 在循环中调用accept(),获取客户端连接的socket。accept()默认阻塞,直到有客户端连接后返回连接套接字。

    6. 创建线程处理该套接字,使用recv()从socket中读取字符。

    7. 解析HTTP请求报文,如

      首先是请求方法,请求URL,HTTP协议版本。

      Host:主机名

      8.将请求路径转换为本地路径,将文件的副本通过send()发送。

      9.响应报文

      起始行:HTTP协议版本,状态码。

      首部:文件类型,文件长度。

      10.发送完毕后使用close()结束通信。

      1.udp服务器

      • 创建一个socket,用函数socket();
      • 设置socket属性,用函数setsockopt();* 可选
      • 绑定IP地址、端口等信息到socket上,用函数bind();
      • 循环接收数据,用函数recvfrom();
      • 关闭网络连接

      2.udp客户端

      • 创建一个socket,用函数socket();
      • 设置socket属性,用函数setsockopt();* 可选
      • 绑定IP地址、端口等信息到socket上,用函数bind();* 可选
      • 设置对方的IP地址和端口等属性;
      • 发送数据,用函数sendto();
      • 关闭网络连接;

      3.tcp服务器

      • 创建一个socket,用函数socket();
      • 设置socket属性,用函数setsockopt(); * 可选
      • 绑定IP地址、端口等信息到socket上,用函数bind();
      • 开启监听,用函数listen();
      • 接收客户端上来的连接,用函数accept();
      • 收发数据,用函数send()和recv(),或者read()和write();
      • 关闭网络连接;
      • 关闭监听;

      4.tcp客户端

      • 创建一个socket,用函数socket();
      • 设置socket属性,用函数setsockopt();* 可选
      • 绑定IP地址、端口等信息到socket上,用函数bind();* 可选
      • 设置要连接的对方的IP地址和端口等属性;
      • 连接服务器,用函数connect();
      • 收发数据,用函数send()和recv(),或者read()和write();
      • 关闭网络连接;
  • 相关阅读:
    Java事务
    Mybatis二级缓存问题
    183.面试题 17.14. 最小K个数(快速排序)
    182. 跟着三叶学最短路径问题(存图方式)
    181. 差分数组学习
    AI大视觉(二十) | 小目标检测的tricks汇总
    CentOS7 上安装 mysql-5.7.26
    如何欺骗 Go Mod?
    .netcore docker常用命令-持续补充
    转载:登录后,用户配置被修改的处理方法
  • 原文地址:https://www.cnblogs.com/wshr007/p/11503034.html
Copyright © 2011-2022 走看看