tcp三次握手和time wait --- 转
第一次握手:建立连接时,客户端发送syn包和一个随机序列号seq=x到服务器,并进入SYN_SEND状态,等待服务器进行确认。(syn,同 步序列编号)。第二次握手,服务器收到syn包,必须确认客户的SYN,然后服务器发送一个ACK=1, SYN=1, seq=y的随机数和ack=x+1的确认数的包发送回去。第三次握手是客户端收到服务器端的SYN+ACK包,然后向服务器端发送确认包...
View Articletcp_tw_recycle和tcp_timestamps导致connect失败问题 --- 转
近来线上陆续出现了一些connect失败的问题,经过分析试验,最终确认和proc参数tcp_tw_recycle/tcp_timestamps相关; 1. 现象 第一个现象:模块A通过NAT网关访问服务S成功,而模块B通过NAT网关访问服务S经常性出现connect失败,抓包发现:服务S端已经收到了syn包,但没有回复synack;另外,模块A关闭了tcp...
View Article部分网络内核参数说明 --- 转
下面是我的理解,可能有误,仅供参考。 要调优,三次/四次握手必须烂熟于心。 client server (SYN_SENT) —> (SYN_RECV) (ESTABLISHED) <— —> (ESTABLISHED) client(主动) server...
View Article使用pthread_cond_timedwait把一个线程作为一个定时器使用. --- 转
[c-sharp] view plaincopy#include <pthread.h> #include <stdio.h> #include <unistd.h> #include <stdlib.h> void * Proc(void * arg) { pthread_cond_t cond;...
View ArticleVC如何使用ADO
摘要: VC用ADO访问数据库全攻略,介绍了VC用ADO来访问数据库的各个对象及各方法,很经典,也很实用,很值得一看。 正文 一、ADO概述 ADO是Microsoft为最新和最强大的数据访问范例 OLE DB 而设计的,是一个便于使用的应用程序层接口。ADO 使您能够编写应用程序以通过 OLE. DB 提供者访问和操作数据库服务器中的数据。ADO 最主要的优点是易于使用、速......
View ArticleAndroid如何判断手机是否联网?
在Android手机中判断是否联网可以通过 ConnectivityManager 类的isAvailable()方法判断, 首先获取网络通讯类的实例 ConnectivityManager cwjManager=(ConnectivityManager)getSystemService(Context.CONNECTIVITY_SERVICE); ,...
View ArticleLinux kernel scaling: Ports and port Cycling ---...
NOTE: The content of this article is subject to change as we are still investigating the issue While attempting to benchmark redis a coworker (Kal McFate) and I were hitting a 28k limit on concurrent...
View ArticleTCP/IP协议栈中的TimeStamp选项 ---转
TCP/IP协议栈中的TimeStamp选项 TCP应该是以太网协议族中被应用最为广泛的协议之一,这里就聊一聊TCP协议中的TimeStamp选项。这个选项是由RFC 1323引入的,该C建议提交于1992年,到今天已经足足有20个年头。不过相信大部分程序猿对这个建议还是相当陌生。 要理解为啥需要用TimeStamp选项,还需要从TCP协议的几个基本设计说起。...
View ArticleLinux TCP数据包接收处理 --- 转
摘要: 在接收流程一节中可以看到数据包在读取到用户空间前,都要经过tcp_v4_do_rcv处理,从而在receive queue中排队。 在该函数中,我们只分析当连接已经建立后的数据包处理流程,也即tcp_rcv_established函数。 tcp_rcv_established函数的工作原理是把数据包的处理分为2类:fast path和slow...
View Article开源图形库 c语言-图形图像库 集合[转]
摘要: Google三维API O3D O3D 是一个开源的 Web API 用来在浏览器上创建界面丰富的交互式的 3D 应用程序。这是一种基于网页的可控3D标准。此格式期望真正的基于浏览器,独立于操作系统之外,并且支持主流的3D显卡,这样就可以在网页中实现效果逼真的3D动画。在线演示:http://o3... 更多O3D信息 最新新闻:...
View ArticleAndroid各种访问权限Permission详解
在Android的设计中,资源的访问或者网络连接,要得到这些服务都需要声明其访问权限,否则将无法正常工作。在Android中这样的权限有很多种,这里将各类访问权限一一罗列出来,供大家使用时参考之用。 android.permission.EXPAND_STATUS_BAR 允许一个程序扩展收缩在状态栏,android开发网提示应该是一个类似Windows Mobile中的托盘程序...
View ArticleAndroid 启动Launcher
一LauncherApplication->onCreate 1.//设置最小堆内存4M 2.//建立应用图标缓存器 3.//建立LauncherModel 4.//注册Intent.ACTION_PACKAGE_ADDED,Intent.ACTION_PACKAGE_REMOVED,Intent.ACTION_PACKAGE_CHANGED事件监听器...
View Article定时执行命令,观察输出
如果要持续执行一个命令,然后观察输出的话,我们一遍一遍的按上回车,然后看着输出。watch命令可以很好的实现这个功能。比如,要监控linux的连接数: [plain] view plaincopyprint?watch -n 2 -d 'netstat -est | grep est' 输出: [plain] view plaincopyprint?Every 2.0s: netstat -est...
View ArticleAMD打造开放的异构计算标准?
http://www.csdn.net/article/2013-02-17/2814154-AMD_creat_HSA 摘要:在PC产业日渐颓势和移动行业方兴未艾的大环境下,AMD作为PC CPU芯片行业的两个供应商之一,如何在上下夹击的态势下突出重围,大家一直拭目以待。经过近两年的调整,AMD并非没有出路,他们已经为自己规划了三个快速发展的机遇:双核、异构、低功耗。而开放和开源的思维贯穿始终。...
View ArticleMac中自定义文件夹中文名
在OSX系统中,我们打开finer,就会看到很多中文名的文件夹,比如“应用程序”、“桌面”等等,而在系统中都是以英文命名的。我们也可以自己去设置中文名。 首先需要找到设置中文的字符串资源文件,路径是/System/Library/CoreServices/SystemFolderLocalizations/zh_CN.lproj/SystemFolderLocalizations.strings。...
View ArticleAndroid应用程序模型介绍
大多数操作系统,在应用程序所寄存的可执行程序映像(如Windows系统里的.exe)、它所运行的进程以及和用户交互的图标和应用之间有一种严格的1对1关系。在Android系统里,这些关联要松散得多。并且重要的是要理解各种概念怎么样组成整体。 由于Android应用固有的灵活性,当实现这些不同方面的时候有一些基本术语需要加以理解: 一个Android包...
View ArticleC语言当中位段的使用(转)
C语言当中位段的使用落鹤生 发布于 2010-06-05 09:23 点击:618次 来自:百度博客位段以位为单位定义结构体(或共用体)中成员所占存储空间的长度。含有位段的结构体类型称为位段结构。位段结构也是一种结构体类型,只不过其中含有以位为单位定义存储长度的整数类型位段成员。采用位段结构既节省存储空间,又可方便操作。TAG: C语言 位段 文章来源...
View Article数组与指针的区别
C语言中对于下面的两种情况,是否相同呢?char a[] = "abcdefg";---------------1char *p = "abcdefg";-----------------2在谈到这些区别时,应该先谈一下计算机中对变量是如何存储的。从编译原理中我们知道,对于所有的变量他都会影射到一个符号表中。为了简化,这里给出一种最简单的便于理解的符号表:a0xffaap0xffcc表1...
View Article查找CString里面出现某个字符的次数
1、Replace函数替换查找Replace函数返回值:返回被替换的字符数。如果这个字符串没有改变则返回零。CString sTest="aabbccaadd"; int nCount=s.Replace("a","a");nCount就是你的想要的值CString::Replaceint Replace( TCHAR chOld, TCHAR chNew );int Replace(...
View ArticleLinux Mint 13 的安装、配置及搭建Android源码编译环境(转)
用过ubuntu,现在想换换LinuxMint试试看。下面是我安装配置LinuxMint13的过程。 1、安装 安装LinuxMint13时,我尝试了好多种方法,都失败了。最后选用了硬盘安装。硬盘安装Linuxmint和安装ubuntu一样。 1.1、准备工作 1、从linux mint的官方网站http://www.linuxmint.com/ 下载linux mint 13。...
View Article