• nginx中handle模块开发总结1


    之前用网上搜的hello world模块在机器上跑了一遍。然后今天按照自己的意愿把模块修改。然后遇到一些问题,现在总结一下:

    (1)注意命名问题,即模块源代码文件命名以及源代码里面变量命令。刚刚开始出出现一个问题,就是连接成最后的二进制文件时,找不到我写的模块,然后看了下发现config文件中的模块命名与源代码中模块命名不一致。

    (2)我要修改返回给用户的数据部分,这部分可以放在filter模块去操作,也可以在handler模块实现,即改变ngx_chain_t数据链即可,ngx_chain_t被申明为ngx_chain_s链表,可以在改链表的任何地方添加数据。添加数据即创建ngx_chain_t节点即可,然后连接到ngx_chain_s链表上,示例代码如下:

        out.next = &out_time;//out_time是我创建的新的节点,并在里面填写数据

               out_time.next=NULL;//注意改out_time变量buf成员赋值

    (3)使用curl命令发请求测试,发现curl命令处理完之后一直在等待,仔细看了下是因为

     r->headers_out.content_length_n 的值大于数据体中的数据大小,因此把该部分设置为与数据体数据部分大小一样的值即可。收到了的数据大小就等于content_length_n值。

  • 相关阅读:
    多线程
    事务的概念与四大特性(ACID)
    Error和Exception的区别
    运算符的使用与注意事项(二)
    运算符的使用与注意事项(一)
    GOJS使用--前端拓扑图
    python算法实现分治法demo
    MySQL主从复制配置
    MySQL锁
    show profile查看SQL执行生命周期
  • 原文地址:https://www.cnblogs.com/hahawgp/p/3671239.html
Copyright © 2020-2023  润新知