专注于音视频处理及流媒体开发!

罗索实验室

  • [高性能服务器] 优化UDP接收性能 日期:2013-07-17 10:26:17 点击:988 好评:2

    在做一个项目,通过UDP接收TS流并转码。做的过程中发现,假如输入的TS流码率很大(10Mb/s),丢包现象很严重,根本不能正常解码。我在程序中明明已经通过设置SO_RCVBUF把接收缓冲设置成1MB了,但为什么丢包还怎么严重呢?通过搜索,找到了问题所在。测试代码如下...

  • [高性能服务器] 基于stun, turn, ice协议的NAT穿越 日期:2013-03-06 09:09:57 点击:1265 好评:2

    stun 可以处理大部分nat问题,turn是stun协议的一个增强版,专用于处理对称形nat问题,而ice则是综合stun及turn的产物,是一个框架,综合运用STUN和TURN的结构,它提供可靠的VoIP或视频通话配置以及媒体传输,通过一个SIP供给/应答模型供端点交换多个候选IP地址和端口(...

  • [高性能服务器] Linux中网络编程的常用函数 日期:2013-01-25 13:45:21 点击:351 好评:0

    1、fcntl 头文件#include fcntl.h #include fcntl.h 定义函数int fcntl(int fd , int cmd); int fcntl(int fd,int cmd,long arg); int fcntl(int fd,int cmd,struct flock * lock); fcntl()用来操作文件描述符的一些特性。参数fd代表欲设置的文件描述词,参数cmd代表欲...

  • [高性能服务器] 关于TCP和和UDP包的大小 日期:2013-01-23 22:34:40 点击:807 好评:6

    UDP一次发送数据包的大小,TCP一次发送数据包的大小。UDP 包的大小就应该是 1492 - IP头(20) - UDP头(8) = 1464(BYTES) TCP 包的大小就应该是 1492 - IP头(20) - TCP头(20) = 1452(BYTES)...

  • [高性能服务器] 单线程写多线程读安全的结构体 日期:2013-01-21 13:41:30 点击:370 好评:0

    最近一段时间在思考如何能并行的利用多进程多机器为同一片区域服务,这样可以通过多开几个进程提升单区域的承载量。一种方式是类似bigworld全分布式设计,同一区域中的对象可以分布在N个进程/机器中。...

  • [高性能服务器] 谈一谈网络编程学习经验(06-08更新) 日期:2013-01-16 13:36:21 点击:600 好评:0

    本文谈一谈我在学习网络编程方面的一些个人经验。“网络编程”这个术语的范围很广,本文指用Sockets API开发基于TCP/IP的网络应用程序,具体定义见“网络编程的各种任务角色”一节。...

  • [高性能服务器] linux 下写socket遭遇broken pipe(SIGPIPE C++) 日期:2013-01-14 16:12:01 点击:452 好评:0

    原代码片段如下,程序在第08行报错,但是try,catch无法抓到错误,经过debug分析是由于收到broken pipe的信号。看来程序此时被终止了;那么我期望不被终止,该怎么做了。...

  • [高性能服务器] Socket EAGAIN 日期:2013-01-10 16:01:26 点击:620 好评:0

    为了消除该错误,有三种方法可以选择:1.调大tcp_sendspace,使之大于send中的size参数---no -p -o tcp_sendspace=65536; 2.在调用send前,在setsockopt函数中为SNDBUF设置更大的值; 3.使用write替代send,因为write没有设置O_NDELAY或者O_NONBLOCK...

  • [高性能服务器] epoll 事件的检测 日期:2013-01-08 10:48:04 点击:867 好评:0

    服务器不可能经常的向客户端写一个东西,依照有没有EpollErr来判断客户端是不是死了。因此,服务器中的超时检查是很重要的。这也是以前服务器中作死后确认的原因。新的代码里也是时间循环,时间循环.......

  • [高性能服务器] Epoll在LT和ET模式下的读写方式 日期:2013-01-05 10:34:08 点击:449 好评:0

    二者的差异在于level-trigger模式下只要某个socket处于readable/writable状态,无论什么时候进行 epoll_wait都会返回该socket;而edge-trigger模式下只有某个socket从unreadable变为readable或从 unwritable变为writable时,epoll_wait才会返回该socket。...

栏目列表
推荐内容
织梦二维码生成器