自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(25)
  • 资源 (9)
  • 问答 (1)
  • 收藏
  • 关注

转载 TCP三次握手和四次断连深入分析:连接状态与关系(2)

说到tcp协议,凡是稍微看过的人都能顺口说出三次握手和四次断连,但什么时候客户端才能够连接上server端, 是server端调用bind后还是listen后还是accept后 ?AD:干货来了,不要等!WOT2015 北京站演讲PPT开放下载!使用ss工具去查看,client显示FIN_WAIT_2状态:[liyh@localhost ~]$ 

2015-04-28 15:00:15 489

转载 TCP三次握手和四次断连深入分析:连接状态与关系(1)

说到tcp协议,凡是稍微看过的人都能顺口说出三次握手和四次断连,再牛逼的一点的就能够把每个状态(SYNC_SENT、CLOSE_WAIT。。。。。。等)都能背出来,而说道socket编程,基本上写过网络编程的人都会熟悉那几个标准的API:socket、connect、listen、accept。。。。。。等。但是,我敢打赌很少有人明白tcp状态和socket编程API之间的关系。不信? 看看如下几

2015-04-28 14:59:41 543

转载 图解TCP-IP协议

本文通过两个图来梳理TCP-IP协议相关知识。TCP通信过程包括三个步骤:建立TCP连接通道,传输数据,断开TCP连接通道。AD:干货来了,不要等!WOT2015 北京站演讲PPT开放下载!本文通过两个图来梳理TCP-IP协议相关知识。TCP通信过程包括三个步骤:建立TCP连接通道,传输数据,断开TCP连接通道。如图1所示,给出了TCP通信过程的示意图。

2015-04-28 14:49:16 532

转载 CLOSE_WAIT状态的原因与解决方法

CLOSE_WAIT状态的原因与解决方法 2009-09-24 13:52:18分类: C/C++这个问题之前没有怎么留意过,是最近在面试过程中遇到的一个问题,面了两家公司,两家公司竟然都面到到了这个问题,不得不使我开始关注这个问题。说起CLOSE_WAIT状态,如果不知道的话,还是先瞧一下TCP的状态转移图吧。关闭socket分为主动关闭(Ac

2015-04-28 14:39:43 39855 2

转载 【Linux学习】epoll详解

epoll的相关系统调用epoll只有epoll_create,epoll_ctl,epoll_wait 3个系统调用。 1. int epoll_create(int size);创建一个epoll的句柄。自从linux2.6.8之后,size参数是被忽略的。需要注意的是,当创建好epoll句柄后,它就是会占用一个fd值,在linux下如果查看/proc/进程id

2015-04-28 14:17:43 485

转载 proc/sys/net/ipv4/下各项的意义

此博客讲述tcpip,及内核编程很专业,排名151,http://blog.csdn.net/zdwzzu2006/article/details/7716972/proc/sys/net/ipv4/icmp_timeexceed_rate这个在traceroute时导致著名的“Solaris middle star”。这个文件控制发送ICMP Time Exc

2015-04-28 14:03:24 445

转载 Linux中keepalive的使用

/proc/sys/net/ipv4/tcp_keepalive_time
当keepalive起用的时候,TCP发送keepalive消息的频度。缺省是2小时。
/proc/sys/net/ipv4/tcp_keepalive_intvl
当探测没有确认时,重新发送探测的频度。缺省是75秒。
/proc/sys/net/ipv4/tcp_keepalive_probes
在认定连

2015-04-28 14:00:27 996

转载 服务器TIME_WAIT和CLOSE_WAIT详解和解决办法

TCP状态转移要点TCP协议规定,对于已经建立的连接,网络双方要进行四次握手才能成功断开连接,如果缺少了其中某个步骤,将会使连接处于假死状态,连接本身占用的资源不 会被释放。网络服务器程序要同时管理大量连接,所以很有必要保证无用连接完全断开,否则大量僵死的连接会浪费许多服务器资源。在众多TCP状态中,最值得 注意的状态有两个:CLOSE_WAIT和TIME_WAIT。  1、LISTE

2015-04-28 13:58:48 415

转载 查看 并发请求数及其TCP连接状态

服务器上的一些统计数据:1)统计80端口连接数netstat -nat|grep -i "80"|wc -l2)统计httpd协议连接数ps -ef|grep httpd|wc -l3)、统计已连接上的,状态为“establishednetstat -na|grep ESTABLISHED|wc -l4)、查出哪个IP地址连接最多,将其封了.nets

2015-04-28 13:58:15 631

转载 修改linux tcp连接数

一、 文件数限制修改(1) vi /etc/security/limits.conf* soft nofile 10240* hard nofile 10240(2) vi /etc/pam.d/loginsession required /lib/security/pam_limits.so二、 网络端口限制修改(1) vi /etc/rc.d/rc.lo

2015-04-28 13:56:18 588

转载 从问题看本质: 研究TCP close_wait的内幕

最近遇到的一个关于socket.close的问题,在某个应用服务器出现的状况(执行netstat -np | grep tcp): tcp        0      0 10.224.122.16:50158         10.224.112.58:8788          CLOSE_WAITtcp        0      0 10.224.122.16:37655

2015-04-28 13:55:11 619

转载 linux 系统优化tcp连接

提高服务器的负载能力,是一个永恒的话题。在一台服务器CPU和内存资源额定有限的情况下,最大的压榨服务器的性能,是最终的目的。要提高Linux系统下的负载能力,可以先启用Apache的Worker模式(参考我写的《Ubuntu下配置Apache的Worker模式》一文),来提高单位时间内的并发量。但是即使这么做了,当网站发展起来之后,连接数过多的问题就会日益明显。在节省成本的情况下,可以考虑修改Li

2015-04-28 13:54:54 517

转载 epoll源码实现分析[整理]

在linux的网络编程中,很长的时间都在使用select来做事件触发。在linux新的内核中,有了一种替换它的机制,就是epoll。 相比于select,epoll最大的好处在于它不会随着监听fd数目的增长而降低效率。因为在内核中的select实现中,它是采用轮询来处理的,轮询的fd数目越多,自然耗时越多。并且,在linux/posix_types.h头文件有这样的声明: #define

2015-04-28 09:29:05 522

转载 对于linux socket与epoll配合相关的一些心得记录

int nRecvBuf=32*1024;//设置为32Ksetsockopt(s,SOL_SOCKET,SO_RCVBUF,(const char*)&nRecvBuf,sizeof(int));1、通过上面语句可以简单设置缓冲区大小,测试证明:跟epoll结合的时候只有当单次发送的数据全被从缓冲区读完毕之后才会再次被触发,多次发送数据如果没有读取完毕当缓冲区未满的时候数据不

2015-04-28 08:33:44 856

转载 虚函数表

C++中的虚函数的作用主要是实现了多态的机制。关于多态,简而言之就是用父类型别的指针指向其子类的实例,然后通过父类的指针调用实际子类的成员函数。这种技术可以让父类的指针有“多种形态”,这是一种泛型技术。所谓泛型技术,说白了就是试图使用不变的代码来实现可变的算法。比如:模板技术,RTTI技术,虚函数技术,要么是试图做到在编译时决议,要么试图做到运行时决议。关于虚函数的使用方法,我在这里不做过

2015-04-27 20:32:04 385

转载 IBM文章使用 Boost 的 IPC 和 MPI 库进行并发编程

Boost C++ 库让并发编程变得既简单又有趣。学习如何使用两个 Boost 库 —— Interprocess (IPC) 库和 Message Passing Interface (MPI) 实现共享内存对象、同步文件锁和分布式通信等功能。http://www.ibm.com/developerworks/cn/views/aix/libraryview.jsp

2015-04-22 22:44:00 784

转载 C/C++重要知识点

成员以其在类中声明的顺序构造摘要: 分析以下代码的输出:#includeusing namespace std;class A{public: A(int j):age(j) , num(age + 1) { cout阅读全文posted @ 2013-11-12 16:58 夏雪冬日 阅读(119) | 评论 (0) 编辑memset函数使用方法摘

2015-04-22 17:38:05 1152

转载 两种高性能I/O设计模式的比较

昨天购买了《程序员》杂志 2007.4期,第一时间去翻阅了一遍,其中有一篇《两种高性能I/O设计模式的比较》令人眼睛一亮,这是一篇译文,偶最近在一直想认真看看这方面的文章很久了。文章主要是讲到了系统I/O方式可分为阻塞,非阻塞同步和非阻塞异步三类,三种方式中,非阻塞异步模式的扩展性和性能最好。主要是讲了两种IO多路复用模式:Reactor和Proactor,并对它们进行了比较。文章

2015-04-21 22:40:52 461

转载 BOOST::ASIO

原文http://powman.org/archives/category/teo/cppBOOST::ASIO为我们提供了两种I/O机制,分别是同步和异步。它可在多平台上移植,在不同系统上采用了不同的实现。ASIO为我们封装了一系列的socket api,同时为我们提供了一套相当完善的服务器编程体系,部分概念(关键词)如:io队列、基于回调的异步通知、定时器、自定义的多线程机制。

2015-04-21 10:23:30 640

转载 poco线程池设计

Poco::Net提供了很多便利的开发组件。尽管Poco目前还不是一个很完美的C++类库,但是它从设计上和使用的简易程度上都有着较为超前的理念。大概是去年年底,我开始使用Poco::Net封装的网络通信库取代了boost::asio,直至现在Poco的文档也并不多,不过使用方法很有套路性。Poco封装的组件可以说已经把开发者绑死在了这种固定的使用模式上,因此可以很轻易地搭建一个TCPSer

2015-04-21 10:00:38 2460 1

转载 基于boost的网络引擎

今天找到了贵论坛,发现坛主的很多想法和本人不谋而合,本人近1年主要精力都致力于开发一个大型多人在线游戏的基本架构和相关的技术模组。而我欣喜的发现我与坛主的研究方向正好相反:我是先从服务器端开始研究入手的,目前服务器端告一段落,正准备开始客户端的研发,在寻找客户端引擎的时候碰巧找到了这里。我看到坛主的这个板块,了解到Orz正需要一些服务器方面的资料,在此我先奉上个人的服务器端的一些成果,希望能有

2015-04-21 09:53:27 709

原创 boostASIO线程池

boost的官方例子,有单线程的网络框架,httpserver2是线程池的。下面参照网上某人的代码修改了一点(忘了哪位大仙的代码了) 测试工具,适用stressmark,测试效果非常好, 9000个/s   #include stdio.h>#include "AuthenHandle.h"#include "configure.

2015-04-21 09:52:13 863

转载 Boost.Asio技术文档

Christopher KohlhoffCopyright © 2003-2012 Christopher M. Kohlhoff以Boost1.0的软件授权进行发布(见附带的LICENSE_1_0.txt文件或从http://www.boost.org/LICENSE_1_0.txt)Boost.Asio是用于网络和低层IO编程的跨平台C++库,为开发者提供了C++环境下

2015-04-21 09:49:14 850

转载 boost库asio详解3——io_service作为work pool

无论如何使用,都能感觉到使用boost.asio实现服务器,不仅是一件非常轻松的事,而且代码很漂亮,逻辑也相当清晰,这点上很不同于ACE。使用io_service作为处理工作的work pool,可以看到,就是通过io_service.post投递一个Handler到io_service的队列,Handler在这个io_service.run内部得到执行,有可能你会发现,io_services

2015-04-21 09:46:50 569

转载 Poco::TCPServer框架解析

Poco::TCPServer框架解析POCO C++ Libraries提供一套 C++ 的类库用以开发基于网络的可移植的应用程序,功能涉及线程、文件、流,网络协议包括:HTTP、FTP、SMTP 等,还提供 XML 的解析和 SQL 数据库的访问接口。不仅给我的工作带来极大的便利,而且设计巧妙,代码易读,注释丰富,也是非常好的学习材料,我个人非常喜欢。POCO的创始人在这个开源项目的基础上

2015-04-21 09:41:39 812

各专业外文文献集合,及英文资料

各专业外文文献集合,及英文资料,外文文献集

2010-12-05

frontpage2003教程 课件ppt

frontpage2003教程 课件ppt,简单易学

2010-06-23

记忆89s511红外接受和发射电路

基于89s51的红外接受和发射电路,简单的电路图。

2010-04-27

proteus教程pdf文件

proteus教程pdf文件从基础开始到keil应用

2010-04-27

编程加仿真的数字温度计

带有c编程加仿真的数字温度计,完美程序和DS18B20的应用

2010-04-27

555多种波形发生器原理图以及说明书原器件清单

555多种波形发生器原理图以及说明书,最新制作方法和原器件清单

2010-04-24

protel99se通用封装及原理图库最新

protel99se通用封装及原理图库,最新

2010-04-24

C语言设计实训及仿真

单片机C语言程序设计实训100例及8051+Proteus仿真

2010-04-24

proteus最新元件库

费挖宝rdy该妇女恢复电脑部分电脑那个才能

2010-03-17

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除