- 博客(19)
- 资源 (31)
- 收藏
- 关注
原创 select套接字准备好的条件
条件可读吗?可写吗?异常吗?有数据可读关闭连接的读一半给监听套接口准备好新连接OKOKOK 有可用于写的空间关闭连接的写一半 OKOK 待处理错误OK
2010-02-25 15:19:00 575
转载 linux 动态链接库加载
Linux 动态链接Linux 中的应用程序以以下两种方式之一链接到外部函数:要么在构建时与静态库( lib*.a ) 静态地链接,并且将库代码包含在该应用程序的可执行文件里;要么在运行时与共享库( lib*.so ) 动态地链接。通过动态链接装入器,将动态库映射进应用程序的可执行内存中。在启动应用程序之前,动态链接装入器将所需的共享目标库映射到应用程序的内存,或者使用系统共享的目标并为应用程
2010-02-22 16:19:00 1554
转载 send recv函数
send函数 int send( SOCKET s, const char FAR *buf, int len, int flags ); 不论是客户还是服务器应用程序都用send函数来向TCP连接的另一端发送数据。客户程序一般用send函数向服务器发送请求,而服务器则通常用send函数来向客户程序发送应答。该函数的第一个参数指定发送端套接字描述符;第二个参
2010-02-22 15:18:00 707
转载 struct linger
TCP连接断开的时候调用closesocket函数,已经讨论过有优雅的断开和强制断开,那么如何设置断开连接的方式呢?是通过设置socket描述符一个linger结构体属性。linger结构体数据结构如下:struct linger { int l_onoff; int l_linger;};有三种组合方式:第一种 l_onoff = 0;
2010-02-22 14:54:00 2854
转载 linux 网络编程----服务器模型
学习过《软件工程》吧.软件工程可是每一个程序员"必修"的课程啊.如果你没有学习过, 建议你去看一看. 在这一章里面,我们一起来从软件工程的角度学习网络编程的思想.在我们写程序之前, 我们都应该从软件工程的角度规划好我们的软件,这样我们开发软件的效率才会高. 在网络程序里面,一般的来说都是许多客户机对应一个服务器.为了处理客户机的请求, 对服务端的程序就提出了特殊的要求.我们学习一下目前最常用的服
2010-02-22 10:10:00 559
转载 linux select 异步聊天程序,比较好
什么是异步通讯?就是通讯任意一方可以任意发送消息,有消息来到时会收到系统提示去接收消息。这里要用到select函数。使用步骤如下:1、设置一个集合变量,用来存放所有要判断的句柄(file descriptors:即我们建立的每个socket、用open打开的每个文件等)2、把需要判断的句柄加入到集合里3、设置判断时间4、开始等待,即select5、如果在设定的时间内有任何句柄状态变化了就马上返回,
2010-02-22 10:03:00 848
转载 linux select 用法
select系统调用是用来让我们的程序监视多个文件句柄(file descriptor)的状态变化的。程序会停在select这里等待,直到被监视的文件句柄有某一个或多个发生了状态改变。文件在句柄在Linux里很多,如果你man某个函数,在函数返回值部分说到成功后有一个文件句柄被创建的都是的,如man socket可以看到“On success, a file descriptor for the
2010-02-22 09:50:00 482
转载 select ,FD_ZERO,FD_SET,FD_CLR,FD_ISSET
select函数: 系统提供select函数来实现多路复用输入/输出模型。原型: #include #include select函数: 系统提供select函数来实现多路复用输入/输出模型。原型: #include #include
2010-02-20 16:58:00 880
原创 INADDR_ANY,bind,htos(0)
INADDR_ANY就是指定地址为0.0.0.0的地址,这个地址事实上表示不确定地址,或“所有地址”、“任意地址”。 一般来说,在各个系统中均定义成为0值。例如MontiVista Linux中在/usr/include/netinet/in.h定义为:/* Address to accept any incoming messages. */#define INADDR_ANY
2010-02-20 09:38:00 8843
原创 删除顽固文件及文件夹
@echo y|Cacls %1 /c /t /p Everyone:fdel /f /s /q //?/%1rd /s /q //?/%1 1.copy上述命令,新建记事本,修改为bat文件,粘贴(后缀bat)2.将要删除的文件及文件夹拖放到bat文件
2010-02-19 21:09:00 923
原创 vi 常用
1.vi常用的几个键,备忘下v 选择要复制的内容y 复制d 剪切p 粘贴d 删除一个字符dd 删除一样gg 程序开始位置G 程序结尾:n 定位到第n行 2.makefile编译规则$@ 当前目标全名$* 代表删除了后缀的目标名(目标名称删除后缀)$ 3.编译规则-Wall 生成警告信息-shared 创建dll共享目标文件
2010-02-11 09:06:00 567 1
转载 vc dll 基础
用Visual Sudio 6.0新建一个工程,工程的类型选择Win32 Dynamic-Link Library.工程名任意,其他所有选项取默认新建一个cpp文件,代码如下:int add(int a ,int b){ return a+b;}如果工程类型是Win32 Console Application,那么在编译链接以后,会产生一个Debug目录,并且里面有一个exe文件这
2010-02-08 09:20:00 480
原创 眼睛 舌头健康
◎黑眼圈 一早起来,发现眼圈黯沉发黑?小心!这可能是血液中沉积太多废物的缘故。下眼睑皮肤比较薄,最容易反映血液颜色。想想最近是否压力过大或过度疲劳?支配泌尿和****官的肾脏功能失调,也会让眼周黯沉。医学专家说少熬夜、多吃全麦食品是消除黑眼圈的最好办法! ◎眼皮浮肿 睡前没喝多少水,早上起来眼皮还是肿得厉害?你可能体液失调了!造成水分代谢失调的原因很多,如果伴随感到下肢无力、
2010-02-05 14:37:00 663
转载 C语言编译过程总结详解
本来打算把编译部分的内容总结一下,偶然看到一位网友的文章写得很全面,故此稍加整理,以作备忘。 C语言的编译链接过程要把我们编写的一个c程序(源代码)转换成可以在硬件上运行的程序(可执行代码),需要进行编译和链接。编译就是把文本形式源代码翻译为机器语言形式的目标文件的过程。链接是把目标文件、操作系统的启动代码和用到的库文件进行组织形成最终生成可执行代码的过程。过程图解如下:
2010-02-04 09:28:00 494
转载 linux lib 动态库(2)
Linux系统下的Gcc(GNU C Compiler)是GNU推出的功能强大、性能优越的多平台编译器,是GNU的代表作品之一。gcc是可以在多种硬体平台上编译出可执行程序的超级编译器,其执行效率与一般的编译器相比平均效率要高20%~30%。 Gcc编译器能将C、C++语言源程序、汇程式化序和目标程序编译、连接成可执行文件,如果没有给出可执行文件的名字,gcc将生成一个名为a.out的文件。在Li
2010-02-03 17:17:00 694 1
转载 ld 用法----gcc 过程最后一步----链接
今天把vivi所用到的ld的用法都看懂了,常见的选项含义也清楚了。翻看了一下kernel的链接脚本,发现相当复杂,并且需要对全局有很好的把握,对整个的地址空间分配也必须清楚。这点暂时还做不到,属于后续工作。先把ld的基本用法总结一下,因为《Linkers and Loaders》还没有读完,所以暂时还不能作出总结。不过,对链接和加载已经有了更深入的认识。在读using ld时,很多地方自然就理
2010-02-03 16:45:00 16224 4
转载 linux lib 动态库
动态库*.so在linux下用c和c++编程时经常会碰到,最近在网站找了几篇文章介绍动态库的编译和链接,总算搞懂了这个之前一直不太了解得东东,这里做个笔记,也为其它正为动态库链接库而苦恼的兄弟们提供一点帮助。1、动态库的编译下面通过一个例子来介绍如何生成一个动态库。这里有一个头文件:so_test.h,三个.c文件:test_a.c、test_b.c、test_c.c,我们将这几个文件编译成一
2010-02-03 10:08:00 2872
转载 gcc 几个常用选项
通常后跟一些选项和文件名来使用 GCC 编译器。gcc 命令的基本用法如下: gcc [options] [filenames] 选项指定编译器怎样进行编译。GCC选项 GCC 有100个编译选项。这些选项中的许多可能永远都不会用到,但一些主要的选项会经常遇到。很多的 GCC选项包括一个以上的字符,因此必须为每个选项指定各自的连字符。例如, 下面的两个命令是不同的: gcc -p -g t
2010-02-02 19:03:00 891 1
转载 Linux多线程编程的基本的函数
函数原型: #include int pthread_create(pthread_t *restrict tidp,const pthread_attr_t *restrict attr, void *(*start_rtn)(void),void *restrict arg); 返回值:若是成功建立线程返回0,否则返回错误的编号 形式参
2010-02-01 16:38:00 658
wingdbg_x86_6.7.05.0.exe
2010-09-04
release 下trace工具
2009-11-17
vc 书 Internet相关开发, ActiveX控件开发,调试技术与异常(错误),文件操作, 内存管理
2009-11-09
mfc 窗口分析 popup ,overlap,child
2009-11-09
21天学通c++ 中文 第五版
2009-09-17
世界500强企业面试题.pdf
2009-07-13
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人