
Linux高性能服务器编程
bytedance-踏锋
专注于音视频、webrtc、rtmp、RTP/RTCP、nginx、golang、hls、dash、flv、hds
展开
-
socket异步编程--libevent的使用
这篇文章介绍下libevent在socket异步编程中的应用。在一些对性能要求较高的网络应用程序中,为了防止程序阻塞在socket I/O操作上造成程序性能的下降,需要使用异步编程,即程序准备好读写的函数(或接口)并向系统注册,然后在需要的时候只向系统提交读写的请求之后就继续做自己的事情,实际的读写操作由系统在合适的时候调用我们程序注册的接口进行。异步编程会给一些程序猿带来一些理解和编写上的困难,转载 2013-05-21 13:25:36 · 992 阅读 · 0 评论 -
使用gdb调试程序详解
熟练使用gdb是一个linux下开发人员必备的一项技能,我们由浅入深的学习一下gdb的强大功能。一.gdb简单介绍名称 gdb - GNU 调试器提要 gdb [-help] [-nx] [-q] [-batch] [-cd=dir] [-f] [-b bps] [-tty=dev] [-s symfile] [-e pro转载 2015-07-10 17:16:05 · 911 阅读 · 0 评论 -
nginx rtmp代码架构1 hook点总结
1. 对消息的处理 ngx_rtmp_receive_message里面,对消息的头部h的type做判断之后,会调用cmcf->events[h->type]里面的handler,而这些handler是模块注册的 ngx_rtmp.c里面,解析配置时,可能注册ngx_rtmp_protocol_message_handlerngx_rtmp_amf_message_handler转载 2015-07-25 17:41:15 · 1516 阅读 · 0 评论 -
Socket 与 WebSocket
转载自:http://zengrong.net/post/2199.htm去年光棍节的时候,我写过一篇 quick-cocos2d-x 中的 socket 技术选择:LuaSocket 和 WebSocket 。这篇文章介绍了我为何决定在项目中使用 LuaSocket 。现在想起来,当时对 WebSocket 是很感兴趣的,但由于服务端的限制,最终依然选择了 LuaSocket转载 2015-10-14 21:05:21 · 515 阅读 · 0 评论 -
Linux流量监控工具 - iftop (最全面的iftop教程)
在类Unix系统中可以使用top查看系统资源、进程、内存占用等信息。查看网络状态可以使用netstat、nmap等工具。若要查看实时的网络流量,监控TCP/IP连接等,则可以使用iftop。一、iftop是什么?iftop是类似于top的实时流量监控工具。官方网站:http://www.ex-parrot.com/~pdw/iftop/二、iftop有什么用?ift转载 2016-02-19 13:16:35 · 705 阅读 · 0 评论 -
GoLang之再谈Gvim/Vim配置——使用Vundle安装vim-go
摘要:之前总结过在subl中使用GoLang,《GoLang及Sublime Text 2之Mac OS X 10.8.4开发环境安装 》。其实GoLang的安装包中已经包含了支持Vim的编写插件,配置方法很简单,可参考《GoLang之Gvim/Vim配置》。本文再讨论下使用Vundle如何在Vim中配置GoLang开发环境vim-go。根据Vundle的安装说明,首先安装Vu转载 2016-05-11 14:10:30 · 2208 阅读 · 0 评论 -
Go学习笔记2之初识Go
代码组织工作空间Go tool先天就是设计来与开源仓库协作的,不管你愿不愿意发布你的代码,构建开发环境的方式是一样的。Go代码必须保存在一个工作空间里, 一个工作空间要有三个根目录src Go源代码pkg Go库文件bin 包含可执行命令一个工作空间的示例:bin/ hello转载 2016-12-07 17:01:18 · 372 阅读 · 0 评论 -
NGINX TIME_WAIT的解决办法
NGINX TIME_WAIT的解决办法及TCP状态解析1. 检测TIME_WAIT状态的语句:netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'返回结果:TIME_WAIT 1000CLOSE_WAIT 5FIN_WAIT2 20ESTABLISHED 10000LAST_A原创 2018-01-25 17:30:28 · 8105 阅读 · 0 评论