网络net
路北
人活着,就要进步
展开
-
【分享】开源消息中间件
很多时候,会给自己内部的应用或者第三方应用提供接口(API)或者是RPC(远程过程调用),普遍通用的都是使用HTTP的方式,比如常说的Web Service的各种实现,SOAP、XML-RPC 等等,但是普遍性能不太好,所以相应的消息通信中间件就需要了。商业收费的也很多,像像 MessageQ、MQ 等等,下面简单的介绍一些开源的消息中间件,大家可以尝试一下: Spread: ht转载 2014-07-19 20:07:27 · 697 阅读 · 0 评论 -
Windows下性能最好的I/O模型——完成端口
I/O模型——完成端口设计目的: 常见的网络通信分为两种:同步和异步。 在同步通信中,每一次接受数据都会导致主线程的挂起,从而阻塞住了其他操作。为了解决这一问题,我们通常会采取同步通信+多线程的策略,即为每一个连入的Socket分配一个线程。然而随着连入的Socket的数量的增加,线程的数量也在增加,这样CPU则需要不停地进行线程的切换,因此难以成为高性能的服务器程序。转载 2014-09-23 10:02:33 · 650 阅读 · 0 评论 -
常用开源服务器库和中间件
boost 1.40中的asio 1.4.3•asio 1.4.5(http://think-async.com/Asio/Download)•libevent 2.0.6-rc (http://monkey.org/~provos/libevent-2.0.6-rc.tar.gz)•muduo 0.1.1原创 2014-05-30 01:02:36 · 1673 阅读 · 0 评论 -
TCP连接探测中的Keepalive和心跳包. 关键字: tcp keepalive, 心跳, 保活
1. TCP保活的必要性1) 很多防火墙等对于空闲socket自动关闭2) 对于非正常断开, 服务器并不能检测到. 为了回收资源, 必须提供一种检测机制.2. 导致TCP断连的因素如果网络正常, socket也通过close操作来进行优雅的关闭, 那么一切完美. 可是有很多情况, 比如网线故障, 客户端一侧突然断电或者崩溃等等, 这些情况server并不能正常检测到连接的断转载 2015-03-12 15:29:32 · 847 阅读 · 0 评论 -
使用socket封装的同步连接TCP类
#pragma once#define IP_BUFFSIZE_DEFAULT 4096class CJGIPClient{public:CJGIPClient(void);~CJGIPClient(void);private:SOCKET m_socketClient;BOOL m_bConnect;int m_nSendTimeOut;i原创 2013-08-10 13:55:34 · 1097 阅读 · 0 评论