2012年2月19日

摘要: int fun(int x[],int n){static int sum=0,i;for(i=0;i<n;i++)sum+=x[i];return sum;}main(){int a[]={1,2,3,4,5},b[]={6,7,8,9,},s=0;s=fun(a,5)+fun(b,4);printf("%d\n",s);} 解此题时,关键要理解static静态局部变量的特点;static静态局部变量在程序进行期间只能被初始化一次! 对于此题来说,在fun函数中有static int sum=0,i;注意,这只是表明sum是静态变量! 执行第一次函数调用fun(a, 阅读全文

posted @ 2012-02-19 11:30 无忧consume 阅读(722) 评论(0) 推荐(0) 编辑

摘要: C存储类型和类型限定符 C存储类分为两类:自动存储类(automatic)和静态存储类(static)。声明对象时使用的存储类说明符以及声明的上下文共同决定了对象的存储类。 自动存储类对象对于一个程序块来说是局部的,在退出程序块时该对象将消失。 (1) 如果没有使用存储类说明符,或者如果使用了auto限定符,则程序块中的声明生成的都是自动存储类对象。 (2) 声明为register的对象也是自动存储类,并且如果可能,将被存储在机器的快速寄存器中。 静态对象可以是某个程序块的局部对象,也可以是所有程序块的外部对象,在退出和进入函数或程序块时其值将保持不变。 (1) 在一个程序块内,静... 阅读全文

posted @ 2012-02-19 11:23 无忧consume 阅读(245) 评论(0) 推荐(0) 编辑

摘要: typename stree <T> ::iterator 这样表明iterator是一种类型, 前面不加typename 而单是stree <T> ::iterator 的话表明iterator是stree <T> 内的成员变量 阅读全文

posted @ 2012-02-19 10:26 无忧consume 阅读(206) 评论(0) 推荐(0) 编辑

摘要: // range heap example#include <iostream>#include <algorithm>#include <vector>using namespace std;int main () { int ia[] = {10,20,30,5,15}; vector<int> ivec(ia,ia+5);make_heap (ivec.begin(),ivec.end()); for (int i = 0; i < (int)ivec.size(); i++) cout<<ivec[i]<<& 阅读全文

posted @ 2012-02-19 09:53 无忧consume 阅读(94) 评论(0) 推荐(0) 编辑

摘要: 桌面属性:设置好2窗口后,将下边的选项打勾 阅读全文

posted @ 2012-02-19 00:17 无忧consume 阅读(122) 评论(0) 推荐(0) 编辑


2012年2月18日

摘要: Linux 多线程函数解析Linux多线程函数解析Linux多线程函数用得比较多的是下面的3个pthread_create(),pthread_exit(),pthread_join();它们都是在头文件之中。编译时需要加静态库-lpthread下面是函数的说明: pthread_create是UNIX环境创建线程函数int pthread_create(pthread_t *restrict tidp,const pthread_attr_t *restrict_attr,void*(*start_rtn)(void*),void *restrict arg);返回值 若成功则返回0,否.. 阅读全文

posted @ 2012-02-18 10:39 无忧consume 阅读(201) 评论(0) 推荐(0) 编辑

摘要: 在 Win32 下用 C++ 实现多线程读写锁 读写锁实际是一种特殊的自旋锁,它把对共享资源的访问者划分成读者和写者,读者只对共享资源进行读访问,写者则需要对共享资源进行写操作。这种锁相对于自旋锁而言,能提高并发性,因为在多处理器系统中,它允许同时有多个读者来访问共享资源,最大可能的读者数为实际的逻辑CPU数。写者是排他性的,一个读写锁同时只能有一个写者或多个读者(与CPU数相关),但不能同时既有读者又有写者。 现在Win32的API,用C++实现自己的读写锁。这组API包括:CreateMutex,CreateEvent,WaitForSingleObject,WaitForMultip.. 阅读全文

posted @ 2012-02-18 10:38 无忧consume 阅读(738) 评论(0) 推荐(1) 编辑

摘要: MIDI的意思是乐器数字接口:(Musical Instrument Digital Interface)它是早在微软开发Windows以前就有的一个用于电子键盘的标准。MIDI定义了一个传输和存储音乐信息的协议。 Win32 API 提供了几种处理MIDI数据的方法。在Windows中有很多方法播放MIDI文件。这里我们讨论一种最简单的方法。 01.ShellExecute (hWnd, "open", "c:\\windows\\media\\Canyon.mid", NULL, NULL, SW_SHOWNORMAL); ShellExecute和 阅读全文

posted @ 2012-02-18 10:37 无忧consume 阅读(347) 评论(0) 推荐(0) 编辑

摘要: 堆和栈的区别(转过无数次的文章)一、预备知识—程序的内存分配 一个由C/C++编译的程序占用的内存分为以下几个部分 1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。 2、堆区(heap) — 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回收。注意它与数据结构中的堆是两回事,分配方式倒是类似于链表,呵呵。 3、全局区(静态区)(static)—,全局变量和静态变量的存储是放在一块的,初始化的全局变量和静态变量在一块区域,未初始化的全局变量和未初始化的静态变量在相邻的另一块区域。 - 程序结束后由系统释... 阅读全文

posted @ 2012-02-18 10:25 无忧consume 阅读(163) 评论(0) 推荐(0) 编辑


2012年2月13日

摘要: ADO教程http://www.w3school.com.cn/ado/index.asp ADO (ActiveX Data Objects,ActiveX数据对象)是Microsoft提出的应用程序接口(API)用以实现访问关系或非关系数据库中的数据。例如,如果您希望编写应用程序从DB2或Oracle数据库中向网页提供数据,可以将ADO程序包括在作为活动服务器页(ASP)的HTML文件中。当用户从网站请求网页时,返回的网页也包括了数据中的相应数据,这些是由于使用了ADO代码的结果。 象Microsoft的其它系统接口一样,ADO是面向对象的。它是Microsoft全局数据访问(UDA).. 阅读全文

posted @ 2012-02-13 18:51 无忧consume 阅读(503) 评论(0) 推荐(0) 编辑


2012年2月12日

摘要: 首先要明确的是,所有的初始化都是运行时完成的。 0) int g; 1) int global = rand(); 2) const int ci = 5; 3) struct test 4) { 5) test() : i_(10) {} 6) int i_; 7) }; 8) test global_object; 9) void fun() 10) { 11) int local; 12) int local2 = 100; 13) } 14) int main() 15) { 16) fun(); 17) static int si; 18) re... 阅读全文

posted @ 2012-02-12 18:45 无忧consume 阅读(395) 评论(0) 推荐(0) 编辑


2012年2月9日

摘要: 指向const对象的指针 const int *pi; ()pi指向const变量,不必初始化,但不可以修改其值 const 可以指向非const变量,但是值就不定了,因为非const值可以修改,相应的const变量的值也会变const指针(本身的值不可以修改所指对象,但是可以修改所指对象的值,必须初始化) int * const pi;指向const对象的const指针const+typedef 例如: typedef string * pstring; const pstring cstr;等价于 string *const;因为const修饰的值指针因此是指常指针,而不是指... 阅读全文

posted @ 2012-02-09 23:09 无忧consume 阅读(105) 评论(0) 推荐(0) 编辑

该文被密码保护。 阅读全文

posted @ 2012-02-09 21:54 无忧consume 阅读(5) 评论(0) 推荐(0) 编辑

摘要: vc++数字图像处理vc++模式识别 阅读全文

posted @ 2012-02-09 15:11 无忧consume 阅读(136) 评论(0) 推荐(0) 编辑


2012年2月8日

摘要: 头文件#include<bitset>bitset模板类,长度<>(常数或是define的常量或是const常量话的常量)string初始化bitset,反向赋值,string必须为1 0 组合,缺少的补0。bitset<len> bitval1(str, start, end)。start和end可以缺省,缺省分别默认0,END 阅读全文

posted @ 2012-02-08 22:54 无忧consume 阅读(266) 评论(0) 推荐(0) 编辑

摘要: 概述 在前面各章中,已多次使用过以“#”号开头的预处理命令。如包含命令# include,宏定义命令# define等。在源程序中这些命令都放在函数之外, 而且一般都放在源文件的前面,它们称为预处理部分。 所谓预处理是指在进行编译的第一遍扫描(词法扫描和语法分析)之前所作的工作。预处理是C语言的一个重要功能, 它由预处理程序负责完成。当对一个源文件进行编译时, 系统将自动引用预处理程序对源程序中的预处理部分作处理, 处理完毕自动进入对源程序的编译。 C语言提供了多种预处理功能,如宏定义、文件包含、 条件编译等。合理地使用预处理功能编写的程序便于阅读、修改、 移植和调试,也有利于模块化程序... 阅读全文

posted @ 2012-02-08 22:09 无忧consume 阅读(225) 评论(0) 推荐(0) 编辑

摘要: 《c++primer》学习随笔——预处理器变量 #define 指示的接受后面的名字,并把这个名字定义为预处理器变量,常用大写。 #ifndef 字面意思就是if not define 如果没有定义。就是如果后面的名字没有被定义成预处理器变量,那么这句话后所有的程序都将被执行,直到遇见#endif 说明具体用法和意义。 假如我自己写了两个头文件one.h,和two.h。其中one.h包括的是一个类的定义;two.h由于也要用到这个类,所以这个头文件里面必然要有一行程序: #include“one.h”。 而我们的主程序里面,开始必然要把我们自己定义的头文件给加进去,必然应该有两行程... 阅读全文

posted @ 2012-02-08 21:10 无忧consume 阅读(300) 评论(0) 推荐(1) 编辑

摘要: 类(class) {}; 定义了类就定义了新类型,类名就是类型的名字 类内的成员可以访问类内的任何成员 定义类class和struct仅仅是访问默认权限的区别 阅读全文

posted @ 2012-02-08 21:01 无忧consume 阅读(98) 评论(0) 推荐(0) 编辑

摘要: #define是C语言中提供的宏定义命令,其主要目的是为程序员在编程时提供一定的方便,并能在一定程度上提高程序的运行效率,但学生在学习时往往不能 理解该命令的本质,总是在此处产生一些困惑,在编程时误用该命令,使得程序的运行与预期的目的不一致,或者在读别人写的程序时,把运行结果理解错误,这对 C语言的学习很不利。1 #define命令剖析1.1 #define的概念 #define命令是C语言中的一个宏定义命令,它用来将一个标识符定义为一个字符串,该标识符被称为宏名,被定义的字符串称为替换文本。该命令有两种格式:一种是简单的宏定义,另一种是带参数的宏定义。(1) 简单的宏定义: #def... 阅读全文

posted @ 2012-02-08 15:26 无忧consume 阅读(373) 评论(0) 推荐(1) 编辑

摘要: c++是一门静态类型语言,在编译时会做类型检查 左值: 可以出现在赋值语句左边或右边 右值: 可以出现在赋值语句的右边,不能出现在左边赋值初始化,直接初始化差别很微妙的(13章): 复制初始化(copy-initialization) 用等号(=) int a = 10; 直接初始化(direct-initialization) 放在括号中 int a(10); 更灵活,效率高 p42 一般来讲,赋值初始化,右侧会涉及到构造初始函数,之后在赋值给左侧(以类为鉴) 类一般有默认够着函数,以string类为例,string类定义了默认的够着函数来初始化string变量为空字符串,即... 阅读全文

posted @ 2012-02-08 15:16 无忧consume 阅读(192) 评论(0) 推荐(1) 编辑


2012年2月7日

摘要: 做外贸最重要的工作就是前期的客户搜索,而选择搜索渠道更是重中之重的头等大事。选对了搜索方式,你的工作效率可能会事半功倍!加油哦!以下是GOOGLE详细的各国网址和网友们共同分享!谷歌详细国家专属网址:(其中部分)1、世界谷歌:http://www.google.com2、韩国谷歌:http://www.google.co.kr/3、日本谷歌:http://www.google.co.jp/4、新加坡谷歌:http://www.google.com.sg/5、土耳其谷歌:http://www.google.com.tr/6、丹麦谷歌:http://www.google.dk/7、挪威谷歌:htt 阅读全文

posted @ 2012-02-07 20:21 无忧consume 阅读(14282) 评论(0) 推荐(0) 编辑

摘要: 女人没魅力才觉得男人花心,男人没实力才觉得女人现实! 阅读全文

posted @ 2012-02-07 14:19 无忧consume 阅读(115) 评论(0) 推荐(0) 编辑

摘要: “一曲笙歌春如海,千门灯火夜似昼“高烧红烛映长天,亮,光铺满地。低点花炮震大地,响,气吐冲天。走马灯,灯走马,灯熄马停步。飞虎旗,旗飞虎,旗卷虎藏身。灯明月明,灯月长明,大明一统。君乐民乐,君民同乐,永乐万年。 阅读全文

posted @ 2012-02-07 12:24 无忧consume 阅读(169) 评论(0) 推荐(0) 编辑


2012年2月6日

摘要: 说重耳、夷吾、申生皆为晋献公的公子,申生为献公正夫人所生是嫡出,被立为太子,后献公正夫人去逝,晋献公纳狄女为夫人,狄女为其生二子,献公爱狄女遂有废立之意,而狄女也处心积虑要害死献公的这三个儿子,其中申生是主要加害的对象。重耳知道狄夫人的意图,就带着几个随从逃走了,从此周游列国,取得大国的信任,为其后来回国继位打下基础。而申生明知有人加害,也要固守孝道不离本国,最终被谗言加害,落个自刎身亡的下场。这就是所谓的“重耳在外而生,申生在内而亡”的典故。 养移气、居移体 人的所处环境可以改变人的气质,供养可以改变人的体质。 出处: 《孟子·尽心上》 孟子自范之齐①,望见齐王之子,喟然叹曰:.. 阅读全文

posted @ 2012-02-06 15:19 无忧consume 阅读(1844) 评论(0) 推荐(0) 编辑


2012年2月4日

摘要: http://www.xinshipu.com/%E5%81%9A%E6%B3%95/%E6%9E%9C%E5%86%BB/果冻の彩~杯材料:鱼胶粉或已经有味的果冻粉,凉粉,蜜糖,果汁饮料,水果粒(提子)做法:1.如果是已经有味道的果冻粉(如芒果味、荔枝味,这里以罗拔臣为例),就把一盒果冻粉用开水250毫升开融,再加250毫升凉开水搅拌均匀,放进容器盖好盖子放冰箱冷藏室冻至凝固。2.如果是用鱼胶粉做,就2小匙鱼胶粉加4小匙凉开水搅拌至糊状,再把碟子放在热水中坐热至鱼胶粉糊热熔成粘稠液体状。把鱼胶粉液倒进250毫升果汁中,搅拌均匀,放进容器盖好盖子放冰箱冷藏室冻至凝固。3.至于凉粉可买即食的罐头 阅读全文

posted @ 2012-02-04 22:06 无忧consume 阅读(1456) 评论(0) 推荐(0) 编辑

摘要: 烧仙草 烧仙草是台湾著名的小吃之一,有两种吃法。其中一种也流行于粤港澳,但在这些地区称为凉粉。这种凉粉的外观和口味均类似粤港澳地区流行的另一种小吃龟苓膏,但做法、材料等均不同,它在做法上跟广东的龟苓膏、凉粉一类非常相似,也同样具有清热解毒的功效。据说以苗栗县九华山的仙草干最出名。几十年前的人们吃仙草,主要是把它切成小方块,再简单地加上糖水和碎冰。虽然也有热饮,但我觉得还是冻吃为妙。配上用糖水浸制的扁豆与弹牙的黑珍珠,啖啖清凉令人心境平和。但店员告知,这款食品孕妇忌吃。 在冬天,热腾腾的烧仙草是让食用者感到窝心的甜点,食用时再加入已预先炒熟或煮熟之去皮花生、细粉圆、花豆、绿豆、红豆等材料,... 阅读全文

posted @ 2012-02-04 21:48 无忧consume 阅读(254) 评论(0) 推荐(0) 编辑


2012年2月3日

该文被密码保护。 阅读全文

posted @ 2012-02-03 01:58 无忧consume 阅读(1) 评论(0) 推荐(0) 编辑


2012年1月17日

摘要: 酒的化学成分是乙醇,在消化道内不需要消化即可吸收,吸收快而且完全。一般在胃中吸收20%,其余80%被十二指肠和空肠吸收。胃内有无食物、胃臂的功能状况、饮料含酒精的多少以及饮酒习惯均可影响酒精的吸收。空腹饮酒时,15分钟吸收50%左右,半小时吸收60%-90%,2-3小时吸收100%。酒精还能通过皮肤和呼吸道进入体内,人在有酒精的空气中工作,有可能因吸入酒精而中毒。酒对人体的作用与其浓度和吸收速度成正比,即浓度越高,吸收速度越快,作用也越明显。 进入人体内的酒,约10%由呼吸道、尿液和汗液以原形排出。因此,饮酒者都是“一身酒气”,也可用呼吸测酒器检测出来。其余90%经由肝脏代谢。乙醇首先被... 阅读全文

posted @ 2012-01-17 22:57 无忧consume 阅读(4936) 评论(0) 推荐(0) 编辑

摘要: 公网IP/内网IP: 在TCP/IP协议中,专门保留了三个IP地址区域作为私有地址,其地址范围如下: 10.0.0.0/8:10.0.0.0~10.255.255.255 172.16.0.0/12:172.16.0.0~172.31.255.255 192.168.0.0/16:192.168.0.0~192公网IP/内网IP: 在TCP/IP协议中,专门保留了三个IP地址区域作为私有地址,其地址范围如下: 10.0.0.0/8:10.0.0.0~10.255.255.255 172.16.0.0/12:172.16.0.0~172.31.255.255 192.168.0.0/16... 阅读全文

posted @ 2012-01-17 22:48 无忧consume 阅读(1155) 评论(0) 推荐(0) 编辑

摘要: IP地址是在电脑学习过程中经常会听到的一个词, 那什么是IP地址, IP地址有什么作用, 如何分配IP地址, 下面就介绍一下IP地址的基础知识.一. 什么是IP地址 IP地址是用来唯一标识互联网上计算机的逻辑地址。也被称为互联网地址或Internet地址。可以这样去理解, 就相当于我们平常用的地址一样, 要找到一个人, 就要知道他在什么城市, 什么路, 什么楼, 什么房间号码的地址才能找得到, 同样的道理, 要确定互联网上的上成千上成每台电脑, 必须有唯一确定的信息来表示这台电脑, 这就是网络世界纯数字的IP地址.二. IP地址的作用. 其实上面已经说到了IP地址的最重要的作用, 就是标识互联 阅读全文

posted @ 2012-01-17 22:46 无忧consume 阅读(433) 评论(0) 推荐(0) 编辑

摘要: 虽然现在的系统都是图形界面, 但了解一些基本的命令方面的电脑知识, 以达到事半功倍的效果. 如下面的有关网络的命令介绍, 就能让我们方便的检查网络. 下面就来看看常用的有关网络的命令.1.Ping网络命令使用格式:ping [-t] [-a] [-n count] [-l size]参数介绍:-t 让用户所在的不断向目标主机发送数据-a 以IP地址格式来显示目标的地址-n count 指定要ping多少次,具体次数由后面的count来指定-l size 指定发送到目标的数据包的大小主要功能:用来测试一帧数据从一台传输到另一台所需的时间,从而判断主响应时间。详细介绍:该命令主要是用来检查路由是否 阅读全文

posted @ 2012-01-17 22:45 无忧consume 阅读(190) 评论(0) 推荐(0) 编辑

摘要: 信用卡取现是广大网友熟悉的信用卡一种常用功能,在急需资金时信用卡取现也不失为一种快速的解决方法,但信用卡取现要收取相应的费用,所以这里不建议卡友经常取现,下面爱购金融网为卡友介绍光大银行信用卡取现手续费和利息的收取情况,方便您更好地使用信用卡进行日常消费。 光大银行信用卡取现类型介绍 您可持光大银行信用卡在光大银行的网点柜台、自动取款机(ATM)以及带有与卡片相同标识的其他银行的自动 取款机(ATM),凭交易密码提取当地货币。 光大银行信用卡取现分为信用卡透支取现和溢缴款取现两种,信用卡透支取现即预借现金,是指持卡人使用信用卡通过ATM等自助终端提取额度内现金的行为;信用卡溢缴款取现是指将还款 阅读全文

posted @ 2012-01-17 17:53 无忧consume 阅读(2219) 评论(0) 推荐(0) 编辑

摘要: Ubuntu任务栏(Gnome Panel)消失打开终端,在终端上输入gnome-panel,启动任务栏,这时在终端上显示调用某某库错误的信息。于是打开进入新立得,sudo synaptic。搜索该库,重新安装。问题解决。唯一的收获就是,有些情况下,当linux某部件出问题时,可以尝试在终端上输入对应的应用程序名,看看是否显示正常。如果有错误信息,这对解决问题非常有帮助。并且ubuntu会提示你如何解决 阅读全文

posted @ 2012-01-17 01:30 无忧consume 阅读(711) 评论(0) 推荐(0) 编辑

摘要: 编译时提示 "错误:apue.h:没有那个文件或目录".apue.h是作者自定义的一个头文件,包括程序所需的常用头文件及出错处理函数。所以因该将它放入系统头文件中(Linux下是 /usr/include),这样gcc编译器就可以找到它了。先去那个网站downlowdapue的tar.gz包(新浪共享),然后解压至电脑中的某个目录,比如我的是在/home/share/下,然后进入解压目录apue.2e,修改Make.defines.linux中的WKDIR=/home/share/apue.2e,为WKDIR=/home/share/apue.2e,这就是我们将要make的 阅读全文

posted @ 2012-01-17 01:03 无忧consume 阅读(308) 评论(0) 推荐(0) 编辑


2012年1月16日

摘要: 碰到这个问题大概可以用这个方法去解决:sudo apt-get install libtool-l*譬如:/usr/bin/ld: cannot find -lltdl解决方法:sudo apt-getinstall libtool-ltdl* 阅读全文

posted @ 2012-01-16 01:48 无忧consume 阅读(319) 评论(0) 推荐(0) 编辑


2012年1月15日

摘要: 对于STL中的map,插入有两种方法:1、map <int,int>a; a[1 ]=1 //此方法初始化a[1],并给a[1]赋值。 a[1]=2 //此方法修改了a[1的值。2 map <int,int>a; a.insert(map<int,int>::value_type(1,1)); //此方法初始化a[1],并给a[1]赋值。 a.insert(map<int,int>::value_type(1,2)); //因为a[1]已经存在,此方法不能初始化a[1],也不能修改a[1]的值。3 特别注意的是,因为[ ]被重载为,如果不存在该k 阅读全文

posted @ 2012-01-15 23:48 无忧consume 阅读(199) 评论(0) 推荐(0) 编辑

摘要: STL中的容器按存储方式分为两类,一类是按以数组形式存储的容器(如:vector 、deque);另一类是以不连续的节点形式存储的容器(如:list、set、map)。在使用erase方法来删除元素时,需要注意一些问题。在使用 list、set 或 map遍历删除某些元素时可以这样使用: 正确使用方法1std::list< int> List;std::list< int>::iterator itList;for( itList = List.begin(); itList != List.end(); ){if(WillDelete(*itList) ){itLis 阅读全文

posted @ 2012-01-15 23:46 无忧consume 阅读(205) 评论(0) 推荐(0) 编辑

摘要: 【动态链接需要什么函数库】 众所周知,Windows支持动态链接,换句话说,应该程序所调用的Windows API函数是在“执行时期”才链接上去的。 Windows程序调用的函数可分为C Runtimes和Windows API两在部分,以下是C Runtimes所用到库文件及其说明: ■LIBC.LIB ---- 这是C Runtimes函数库的动态链接版本。 ■MSVCRT.LIB ---- 这是C Runtimes函数库动态链接版本(如果链接这一函数库,你的程序执行进必须有MSVCRT40.DLL)。 对于API函数则由系统的三大模块GDI32.DLL、USER32.DLL和D... 阅读全文

posted @ 2012-01-15 23:42 无忧consume 阅读(629) 评论(0) 推荐(0) 编辑

摘要: 考虑单窗口情况:假设自己通过new创建了一个窗口对象pWnd,然后pWnd->Create。则销毁窗口的调用次序:1.手工调用pWnd->DestroyWindow();2.DestroyWindow会发送WM_DESTROY;3.WM_DESTROY对应的消息处理函数是OnDestroy();4.DestroyWindow会发送WM_NCDESTROY;5.WM_NCDESTROY对应的消息处理函数是OnNcDestroy;6.OnNcDestroy最后会调用PostNcDestroy;7.PostNcDestroy经常被用户重载以提供释放内存操作。例如可以使用delete th 阅读全文

posted @ 2012-01-15 23:39 无忧consume 阅读(355) 评论(0) 推荐(0) 编辑

摘要: 在使用TCP连接的时候,客户端链接到服务器成功,然后正常使用closesocket断开,再次连接时失败,过一会儿再连接就可以成功,不知道为什么,google了一下,终于明白了原因。 原来在TCP连接后,主动去断开的一端会进入TIME_WAIT状态,在这个状态下,会等待2MSL的时间才会把本地申请的socket资源全部释放,否则在这段时间内是不能够再次使用之前的端口进行收发数据的。而对于某些应用来说,需要断开后立刻连接,这样就不能够成功了。这个问题无法解决,只能够去设置MSL的时间,最短可以是30s。 还有的网友回帖说,在TCP断开的时候可以采用两种断开方式,一种是优雅的断开,另一种就是... 阅读全文

posted @ 2012-01-15 23:34 无忧consume 阅读(886) 评论(0) 推荐(0) 编辑


Copyright © 2024 无忧consume
Powered by .NET 9.0 on Kubernetes