自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(26)
  • 资源 (4)
  • 收藏
  • 关注

转载 TCP心跳机制

所谓的心跳包就是客户端定时放送简单的信息给服务器端,告诉它我还在而已。代码就是每隔几分钟发送一个固定信息给服务器端,服务器端回复一个固定信息。如果服务器端几分钟后没有收到客户端信息则视客户端断开。比如有些通信软件长时间不适用,要想知道它的状态是在线还是离线,就需要心跳包,定时发包收包。    心跳包之所以叫心跳包是因为:它像心跳一样每隔固定时间发一次,以此来告诉服务器,这个客户端还活在。事实上

2011-12-19 21:30:32 5100

转载 linux定时器 --setitimer 的用法

struct itimerval {               struct timeval it_interval; /* 每隔多长时间触发定时器*/                struct timeval it_value;    /* 当前触发的定时器 */            };            struct timeval {

2011-12-19 15:45:31 902

转载 setsockopt 解析

int setsockopt (  SOCKET s,                  int level,                 int optname,               const char FAR * optval,   int optlen                );有时候我们要控制套接字的行为(如修改缓冲

2011-12-19 11:36:09 422

转载 AF_INET 和 PF_INET的细微区别

int socket(int domain, int type, int protocol);domain的类型有:PF_INET, PF_UNIX, AF_INETtype的类型有:SOCK_STREAM, SOCK_DGRAM  . SOCK_RAW(原始套接字)protocal :默认为0 在写网络程序的时候,建立TCP socket:

2011-12-17 18:13:35 711

转载 掌握Linux编程的10个步骤

做linux c语言开发有一小阵子了,在这边自己总结了些心得,相信能让不懂得Linux编程的人慢慢步入Linux殿堂。有任何不对或不准确之处欢迎讨论。1. 安装 linux 操作系统既然要学习linux下的c语言开发,那么安装个linux操作系统是必须的。建议安装Ubuntu,这是我目前见过界面最友好的linux操作系统了。关于如何使用Ubuntu以及在其上作开发,可参考我的另外一

2011-06-26 20:57:00 411

原创 linux c语言链接mysql

<br />#include <mysql/mysql.h>#include <stdio.h>void main(){ MYSQL *mysql;//数据库链接句柄 MYSQL_RES *res;//返回行的查询结果 MYSQL_ROW row; char *query = "select * from test"; int t, r; mysql_init(mysql);//初始化链接

2011-05-31 00:01:00 479

转载 Singleton模式

<br />Singleton模式是一种非常简单的设计模式,这种模式很常用也很容易被滥用。当你设计应用程序的时候,经常会遇到某些对象在整个程序的生命周期应该仅有一个实例的情况,比如File System,Graphic System,Logging Utility,这时候就可以用到Singleton模式。Singleton模式在GOF中描述如下:<br /><br />        Ensure a class only has one instance, and provide a global poi

2011-04-16 10:28:00 482

原创 Singleton模式

<br />Singleton模式是一种非常简单的设计模式,这种模式很常用也很容易被滥用。当你设计应用程序的时候,经常会遇到某些对象在整个程序的生命周期应该仅有一个实例的情况,比如File System,Graphic System,Logging Utility,这时候就可以用到Singleton模式。Singleton模式在GOF中描述如下:<br /><br />        Ensure a class only has one instance, and provide a global poi

2011-04-16 10:28:00 538

转载 Singleton模式

<br />Singleton模式是一种非常简单的设计模式,这种模式很常用也很容易被滥用。当你设计应用程序的时候,经常会遇到某些对象在整个程序的生命周期应该仅有一个实例的情况,比如File System,Graphic System,Logging Utility,这时候就可以用到Singleton模式。Singleton模式在GOF中描述如下:<br /><br />        Ensure a class only has one instance, and provide a global poi

2011-04-16 10:25:00 1247

原创 编辑器自动生成的函数

<br />  请记住:  编译器可以暗自为class创建default构造函数,copy构造函数,copy assignment操作符,以及析构函数<br /> <br />#include <iostream>using namespace std;class Base{public: Base() {} Base(int a) : x(a) {} int getx() {return x;}private: int x;};int main(){

2011-04-08 13:05:00 408

原创 复制控制和继承

<br />①复制构造函数<br />   是否需要定义复制构造函数完全取决于类的直接成员,只包含类类型或内置类型的数据成员,不含指针的类一般可以使用合成操作,复制,赋值,或撤销这样的成需要定义自己的复制控制来管理这些成员。 #include <iostream>using namespace std;class base{protected: int x;public: base() {} base(int a):x(a){}};class derived:

2011-04-07 21:16:00 396

原创 派生类到基类的转换

<br /><<C++Primer>>p488<br /> <br />派生类的对象都含有基类对象作为其一部分,我们可以将指向派生类型的引用转换为指向它的基类型的引用,像转换指针一样,我们可以用派生类的对象初始化或赋值基类对象,反之却不行。class base{<br />public:<br />};<br />class derived:public base{<br />public:<br />};<br />int main(void) {<br />    derived obj_d;<br /

2011-04-06 21:44:00 990

原创 this 指针

<br />/* this 指针 */#include <iostream>using namespace std;class Point{private: double x; double y; static int count;public: Point(double a=0, double b=0) : x(a), y(b) { count++; } void Show()const; void setPoint(double x, do

2011-04-06 14:03:00 334

转载 string 的相关用法

<br />编写类String的构造函数、析构函数和赋值函数(25分)<br />已知类String的原型为: class String { public: String(const char *str = NULL); // 普通构造函数 String(const String &other); // 拷贝构造函数 ~ String(void); //

2011-03-23 00:44:00 320

转载 string 的相关用法

<br />编写类String的构造函数、析构函数和赋值函数(25分)<br />已知类String的原型为: class String { public: String(const char *str = NULL); // 普通构造函数 String(const String &other); // 拷贝构造函数 ~ String(void); //

2011-03-23 00:43:00 308

原创 重载操作符

<br />转自VC共享乐园<br /><br />前言<br /><br />  多态性是面向对象程序设计的重要特征之一。它与前面讲过的封装性和继承性构成了面向对象程序设计的三大特征。这三大特征是相互关联的。封装性是基础,继承性是关键,多态性是补充,而多态又必须存在于继承的环境之中。<br /><br />  所谓多态性是指发出同样的消息被不同类型的对象接收时导致完全不同的行为。这里所说的消息主要是指对类的成员函数的调用,而不同的行为是指不同的实现。利用多态性,用户只需发送一般形式的消息,而将所有的实现留

2011-03-18 22:13:00 392

原创 拷贝构造和赋值操作符的区别

<br /> 从语法上很容易理解啊:<br />A a = b;  //定义并通过拷贝来初始化,因此会调用拷贝构造函数。<br /><br />A a;     //定义并采用默认初始化,因此会调用默认构造函数。<br />a = b; //这里不是定义,因为前面已经定义过了,因此不会有任何“初始化”,而仅仅是赋值,会用      operator=。<br /> <br />#include <iostream><br />using namespace std;<br /> <br />class Te

2011-03-15 20:39:00 372

转载 指针

<br />[转]这篇文章摘自网易广州社区的C语言版精华区。文章不错,不敢独享!作者girlrong是以前C语言版版主,她乐于助人,虚心诚恳,颇受网友欢迎。只可惜现在已退隐江湖了。  <br /><br /><br />第一章。指针的概念<br /><br />指针是一个特殊的变量,它里面存储的数值被解释成为内存里的一个地址。要搞清一个指针需要搞清指针的四方面的内容:指针的类型,指针所指向的类型,指针的值或者叫指针所指向的内存区,还有指针本身所占据的内存区。让我们分别说明。  <br /><br />先声明

2011-03-14 12:14:00 277

转载 eof

<br />#include <fstream><br />int main()<br />{<br />     char c = 0;<br />     std::ifstream file("test.txt");<br />     if (!file){<br />         std::cout << "error"<<std::endl;<br />         return 1;<br />     }<br />     while (!file.eof()){<br />   

2011-03-14 12:12:00 394

转载 c++的文件流中的eof()问题

<br />#include <fstream><br />int main()<br />{<br />     char c = 0;<br />     std::ifstream file("test.txt");<br />     if (!file){<br />         std::cout << "error"<<std::endl;<br />         return 1;<br />     }<br />     while (!file.eof()){<br />   

2011-03-11 15:22:00 1506 2

转载 套接口复用实现的聊天室的程序

<br />//只要按要求将程序中的注释部份改为注释所述就可以运行了<br />/*VC下编写多线程程序除了包含头文件<br />       #include <process.h><br />一定要记住如下的设定,不然编译会出错的://Project->Settings->C/C++->Category:Code Generation,Use run-time library:Multithreaded */<br /> <br />//TCP:client.cpp<br />#pragma comme

2010-12-21 21:03:00 627

原创 学习资料(二)

<br />标题:C++的效率浅析( j7 `! G  [* J' [$ I<br />http://bbs.51cto.com/thread-419489-1-1.html3 t0 t) s- h  v2 ^<br /><br />标题:键盘扫描码大全4 P% N# H5 o( J9 p<br />http://bbs.51cto.com/thread-419486-1-1.html<br />p# O- ]2 b) q  q* /<br />标题:软件编码规范" ^5 B3 d/ ~  F" E% d$

2010-11-24 22:56:00 532

原创 学习资料

<br />学语言究竟学什么?<br /><br />http://bbs.51cto.com/thread-713268-1.html<br /> <br />标题:C语言初学者的十八颗“地雷”<br />http://bbs.51cto.com/thread-37056-1-1.html<br /> <br />标题:md5加密算法的C(C++)代码实现4 n9 B4 v5 l! ?2 v4 _<br />http://bbs.51cto.com/thread-377592-1-1.html/ s2 V

2010-11-24 22:43:00 428

转载 C++类复制控制

1.前言 复制控制通常指类的复制构造函数,赋值操作运算符,析构函数 1.1复制构造函数 引入复制构造函数是为了让类的对象直接生成另一个对象,同时把此对象的数据复制到另一个对象中 如果类中没有实现复制构造函数,编译器自动添加一个, 如果我们不需要,则把它明确的禁止,禁止方法是在private声明一个 2.定义 2.1复制构造函数的2种方法实现 base(const base& org):x(org.x),y(org.y)

2010-11-24 09:48:00 385

原创 C++模板编译模型:包含编译模型

<br /> <br />    在包含编译模型中,编译器必须看到用到的所有模板的定义。一般而言,可以通过在声明模板函数或类模板的头文件中添加一条#include指示使定义可用,该#include引入了包含相关定义的源文件。<br />1 tt.h<br /> <br />#ifndef TT_H<br />#define TT_H<br />#include <iostream><br />using namespace std;<br />template <class T> int compare(c

2010-11-23 19:36:00 471

转载 socket error总结

<br />Socket error 0 - Directly send error <br />Socket error 10004 - Interrupted function call <br />Socket error 10013 - Permission denied <br />Socket error 10014 - Bad address <br />Socket error 10022 - Invalid argument <br />Socket error 10024 - Too m

2010-11-19 11:34:00 3683

c&c++语言经典算法

经典、齐全的算法,很实用。看了以后肯定受益匪浅

2010-12-13

Win32 API参考手册(程序员必备API手册)

作为Microsoft 32位平台的应用程序编程接口,Win32 API是从事Windows应用程序开发所必备的。本书首先对Win32 API函数做完整的概述;然后收录五大类函数:窗口管理、图形设备接口、系统服务、国际特性以及网络服务;在附录部分,讲解如何在Visual Basic和Delphi中对其调用。 本书是从事Windows应用程序开发的软件工程师的必备参考手册。 作为Microsoft 32位平台的应用程序编程接口,Win32 API是从事Windows应用程序开发所必备的。 本书首先对Win32 API函数做完整的概述;然后收录五大类函数:窗口管理、图形设备接口、系统服务、国际特性以及网络服务;在附录部分,讲解如何在Visual Basic和Delphi中对其调用。 本书是从事Windows应用程序开发的软件工程师的必备参考手册。

2010-11-26

C++标准程序库 C&C++程序员必读

《The C++ Standard Library》,作为 C++ 标准链接库教学和参考 类书籍的定音之作,已经将这个奇迹维持了三年之久。按照 IT 出版界时钟,三年 的时间几乎就是半个世纪,足以锤炼又一传世经典!

2010-11-26

Linux下Qt编程入门

全面的介绍Linux下的Qt开发,Qt的安装,窗口部件,对话框,主应用窗口程序等内容

2010-10-21

空空如也

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

TA关注的人

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