网络编程
我是一头奔跑的猪
这个作者很懒,什么都没留下…
展开
-
socket选项--SO_LINGER,SO_REUSEADDR(SO_REUSEPORT)
SO_LINGER:当TCP连接的一段主动close()连接时,一般情况下,系统会马上返回,但是当有数据残留在发送缓冲区时,系统会现将这些数据发送出去再返回,这样可以优雅地关闭掉连接。这就可能使close()阻塞在系统调用中。 这种情况下,我们可以使用套接字选项SO_LINGER来改变这种默认设置。该选项会在用户空间与内核间传递如下结构体:struct linger{原创 2016-07-29 18:54:51 · 658 阅读 · 0 评论 -
libevent的evbuffer跟bufferevent的区别
libevent源码分析–evbuffer和bufferevent的关系2014年08月29日 ⁄ 综合 ⁄ 共 2853字 ⁄ 字号 小 中 大 ⁄ 评论关闭在libevent中还有一个很重要的部分。evbuffer和bufferevent。evbuffer是一个缓冲区,用户可以向evbuffer添加数据,evbuffer和bufferev转载 2016-08-02 08:56:31 · 1801 阅读 · 0 评论 -
rtsp 客户端怎样保活
1、 Q: 各位老大,小弟有个问题,就是RTSP客户端与服务器之间是如何保活的? 就是当client与server建立好session后,是如何保证该session正在使用,不被删掉了噶? A1: RTSP服务器与客户端之间的保活,有几种不同的做法。 1. 首先,RTSP服务器对于每个客户端,都应该有一个超时定时器,一旦客户端超时,就将对应的会话删除。如果会话还活转载 2016-09-05 11:36:24 · 2885 阅读 · 0 评论 -
使用reuseport和recvmmsg优化UDP服务器_应用服务器
地址:http://www.shangxueba.com/jingyan/2216074.html最近刚好完成了一个DNS服务器的开发,因此积累一点对高性能UDP服务器的开发经验。如果你也遇到UDP服务器的性能不佳,远不如你的预期,也许你也可以采用本文的手段去优化一下试试。 udp不像tcp是有连接的,因此udp不能通过建立多个连接来提高对服务器的并发访问,然后我转载 2016-09-08 11:44:02 · 4797 阅读 · 0 评论 -
epoll中的data联合体怎样使用的问题
1、epoll结构体的成员data其实是一个结构体,具体如下:typedef union epoll_data{ void *ptr; int fd; uint32_t u32; uint64_t u64;} epoll_data_t; struct epoll_event{ uint32_t events; /* Epoll events */ epoll_原创 2016-09-08 15:16:32 · 5736 阅读 · 1 评论 -
thrift安装过程报错处理
1、make过程中总是: src/generate/thrift-t_c_glib_generator.o: file not recognized: File truncated /var/log/message查看了内核日志:发现 localhost kernel: Out of memory 怀疑是内存不足导致,看了下虚拟机内存分配只有1g,增加到2g后,make,一切原创 2017-05-03 11:08:35 · 3965 阅读 · 0 评论 -
ipv6/ipv4双栈应用服务器开发细节
公司的楼宇对讲云平台项目需要为北美客户部署一套,美国T-mobile运营商的4G网络已经是纯ipv6的环境了,所以必须让平台支持ipv4/ipv6双栈网络模式。让平台支持双栈,只按照以下几个步骤来处理即可:1、主机保证有ipv4、ipv6两个网路地址。(国内实验室测试的时候,ipv6地址可以通过隧道临时配置);2、让服务监听在ipv6的模式下(这样既可以接收ipv4客户端,也可以接收ipv6客户端...原创 2018-05-07 17:55:40 · 6628 阅读 · 1 评论