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

罗索

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

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

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

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

  • [高性能服务器] Socket EAGAIN 日期:2013-01-10 16:01:26 点击:644 好评: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 点击:998 好评:0

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

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

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

  • [高性能服务器] 非阻IO与EWOULDBLOCK EAGAIN 日期:2013-01-05 09:40:38 点击:1067 好评:0

    select 只能说明 socket 可读或者可写,不能说明能读入或者能写出多少数据。比如,socket 的写缓冲区有 10 个字节的空闲空间,这时监视的 select 返回,然后在该 socket 上进行写操作。...

  • [高性能服务器] ACE与ASIO之间关于Socket编程的比较 日期:2012-12-25 10:37:03 点击:292 好评:0

    我个人觉得,如果应用socket编程,使用ASIO开发比较好,开发效率比较高。ACE适合于理论研究,它本来就是源于Douglas的学术研究。...

  • [高性能服务器] 多线程服务器的常用编程模型 日期:2012-12-05 09:58:26 点击:572 好评:0

    文中的“多线程服务器”是指运行在 Linux 操作系统上的独占式网络应用程序。硬件平台为 Intel x64 系列的多核 CPU,单路或双路 SMP 服务器(每台机器一共拥有四个核或八个核,十几 GB 内存),机器之间用百兆或千兆以太网连接。这大概是目前民用 PC 服务器的主流配置。...

  • [高性能服务器] P2P中的NAT穿越方案 日期:2012-12-03 09:31:58 点击:672 好评:4

    P2P作为一项新兴技术,有很大的优化空间,并且相对于网络设备,基于P2P的应用程序在实现上更为灵活。所以为了兼容NAT,基于P2P的应用程序在开发的时候大多会根据自身特点加入一些穿越NAT的功能以解决上述问题。以下着重介绍几种常见的P2P穿越NAT方案。...

  • [高性能服务器] boost::asio 的同步方式 日期:2012-11-20 09:42:09 点击:432 好评:0

    有人认为同步方式没有异步方式高效,其实这是片面的理解。在单线程的情况下可能确实如此,我不能利用耗时的网络操作这段时间做别的事 情,不是好的统筹方法。不过这个问题可以通过多线程来避免,比如在服务器端让其中一个线程负责等待客户端连接,连接进来后把socket交...

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