- 博客(14)
- 资源 (40)
- 收藏
- 关注
转载 Socket模型详解(转)
两种I/O模式一.选择模型二.异步选择三.事件选择四.重叠I/O模型五.完成端口模型五种I/O模型的比较 两种I/O模式1、两种I/O模式阻塞模式:执行I/O操作完成前会一直进行等待,不会将控制权交给程序。套接字默认为阻塞模式。可以通过多线程技术进行处理。非阻塞模式:执行I/O操作时,Winsock函数会返回并交出控制权。这种模式
2012-04-26 21:41:27 510
原创 网络地址相关数据结构与函数
函数声明:char *inet_ntoa (struct in_addr);函数功能:将网络地址转换成“.”点隔的字符串格式。 函数声明:int inet_aton(const char *string, struct in_addr*addr);函数功能:将一个字符串IP地址转换为一个32位的网络序列IP地址。参数描述: 1 输入参数string包含ASCII表示的IP地址。
2012-04-25 23:42:45 673
转载 Unix调试的瑞士军刀:lsof
这是“你应该知道的Unix和Linux命令”系列的第三篇,在这篇文章中,我会介绍lsof这个工具,如果说netcat是进行网络诊断的瑞士军刀,那么lsof就是Unix调试的瑞士军刀。Lsof是遵从Unix哲学的典范,它只做一件事情,并且做的相当完美——它可以列出某个进程打开的所有文件信息。打开的文件可能是普通的文件,目录,NFS文件,块文件,字符文件,共享库,常规管道,明明管道,符号链接,So
2012-04-23 23:46:29 409
转载 Linux线程同步之条件变量
与互斥锁不同,条件变量是用来等待而不是用来上锁的。条件变量用来自动阻塞一个线程,直到某特殊情况发生为止。通常条件变量和互斥锁同时使用。条件变量使我们可以睡眠等待某种条件出现。条件变量是利用线程间共享的全局变量进行同步的一种机制,主要包括两个动作:一个线程等待"条件变量的条件成立"而挂起;另一个线程使"条件成立"(给出条件成立信号)。条件的检测是在互斥锁的保护下进行的。如果一个条件为假,一个
2012-04-23 23:34:02 535
转载 单播、多播、广播、冲突域和广播域
什么是单播、多播、广播单播是客户端与服务器之间的点到点连接。"点到点"指每个客户端都从服务器接收远程流。仅当客户端发出请求时,服务器才发送单播流。多播也叫组播,是一种多地址的广播,发送和接受端是一对多的关系,服务器只向特定的一组用户发送一个数据包,组中的用户可以共享这个数据包,组外的用户是无法接受到的,多播需要全网内的路由器支持多播,否则许多用户是收不到多播数据的,在广域网实现比较困难。
2012-04-22 01:23:44 2294
转载 用GDB调试程序
GDB是一个强大的命令行调试工具。大家知道命令行的强大就是在于,其可以形成执行序列,形成脚本。UNIX下的软件全是命令行的,这给程序开发提代供了极大的便利,命令行软件的优势在于,它们可以非常容易的集成在一起,使用几个简单的已有工具的命令,就可以做出一个非常强大的功能。于是UNIX下的软件比Windows下的软件更能有机地结合,各自发挥各自的长处,组合成更为强劲的功能。而Windows下的图
2012-04-22 01:11:53 428
转载 Linux 信号signal处理机制
信号是Linux编程中非常重要的部分,本文将详细介绍信号机制的基本概念、Linux对信号机制的大致实现方法、如何使用信号,以及有关信号的几个系统调用。信号机制是进程之间相互传递消息的一种方法,信号全称为软中断信号,也有人称作软中断。从它的命名可以看出,它的实质和使用很象中断。所以,信号可以说是进程控制的一部分。一、信号的基本概念 本节先介绍信号的一些基本概念,然后给出一些基
2012-04-22 00:53:13 497
原创 kill函数,raise函数,alarm函数,pause函数
1. kill函数将信号发送给进程或者进程组。int kill(pid_t pid,int signo);? pid > 0 将信号发送给进程ID为pid的进程。? pid == 0 将信号发送给其进程组ID等于发送进程的进程组ID,而且发送进程有许可权向其发送信号的所有进程。这里用的术语“所有进程”不包括实现定义的系统进程集。对于大多数UNIX系统,系统进程集包括:交换进
2012-04-22 00:45:46 727
转载 Glib实例学习(1)单链表
http://blog.chinaunix.net/uid-25696269-id-483448.html1:SList结构typedef struct _GSList GSList; struct _GSList { gpointer data; GSList *next; };2: SList 原型GSList* g_sl
2012-04-20 00:12:38 1761
转载 Glib实例学习(3)哈希表
http://blog.chinaunix.net/uid-25696269-id-752935.html1:哈希表原型GHashTable* g_hash_table_new (GHashFunc hash_func, GEqualFunc key_equa
2012-04-20 00:10:15 3428
转载 brctl 配置网桥
先装好网卡,连上网线,然后开始!设置linux让网桥运行 配置网桥我们需要让linux知道网桥,首先告诉它,我们想要一个虚拟的以太网桥接口:(这将在主机bridge上执行,不清楚的看看测试场景)root@bridge:~> brctl addbr br0其次,我们不需要STP(生成树协议)等。因为我们只有一个路由器,是绝对不可能形成一个环的。我们可以关闭这个功能。(这
2012-04-19 23:23:43 21461
转载 pkgconfig的用法
一、编译和连接 一般来说,如果库的头文件不在 /usr/include 目录中,那么在编译的时候需要用 -I 参数指定其路径。由于同一个库在不同系统上可能位于不同的目录下,用户安装库的时候也可以将库安装在不同的目录下,所以即使使用同一个库,由于库的路径的 不同,造成了用 -I 参数指定的头文件的路径也可能不同,其结果就是造成了编译命令界面的不统一。如果使用 -L 参数,也会造成连
2012-04-19 23:12:53 622
转载 RegisterWindowMessage小记
RegisterWindowMessage函数定义了一个新的窗口消息,该消息在系统范围内是唯一的。通常调用SendMessage或者PostMessage函数时可以使用该函数返回的消息值。函数原型: UINT RegisterWindowMessage( lpString);参数说明: lpString指向一个以NULL结束的字符串,指定待注册的消息。 返回值: 若成
2012-04-04 22:50:54 1296
原创 WM_Close,WM_Destory与WM_Quit的区别
当使用者按下系统功能表中的Close按钮,系统送出WM_Close,通常程序的窗口函数不拦截此消息,于是DefWindowProc处理它,DefWindowProc收到WM_Close后调用DestoryWindow把窗口清除,DestroyWindow本身会送出WM_Destory.程序对WM_Destory的标准反应是调用PostQuitMessage,PostQuitMessage送
2012-04-04 15:49:56 717
ActivePerl-5.14.2.1402-MSWin32-x86-295342.msi
2011-10-28
More Effective C++.pdf
2011-10-17
VC编程百例
2011-09-18
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人