- 博客(10)
- 资源 (12)
- 收藏
- 关注
原创 非阻塞(O_NONBLOCK)
非阻塞I/O使我们的操作要么成功,要么立即返回错误,不被阻塞。 对于一个给定的描述符两种方法对其指定非阻塞I/O: (1)调用open获得描述符,并指定O_NONBLOCK标志 (2)对已经打开的文件描述符,调用fcntl,打开O_NONBLOCK文件状态标志。flags = fcntl( s, F_GETFL, 0 ) )fcntl( s, F_SETFL, flags | O_NONBLO
2009-12-15 15:05:00 20670
原创 关于recv()和send()的返回值
当发送数据量较大时,send()函数不会一次性将数据发送出去(send()实际只是把数据拷贝到缓冲区中,然后由协议来发送),而是分多次发送,所以其返回值小于想要发送的数据长度。 recv()函数会等待对方的发送缓冲中的数据被协议传送完毕,然后才返回接收到的数据长度,所以其返回值等于接收到的总的数据长度。
2009-12-15 11:46:00 1440
原创 skb_alloc()
/*allocate a network buffer, and init the skb->data and skb->tail to skb->head*/struct sk_buff *alloc_skb(unsigned int size,int gfp_mask){ struct sk_buff *skb; u8 *data; if (in_interrupt() && (gfp
2009-12-11 22:57:00 3625
原创 连接追踪表
连接追踪表它会记录修改前的源、目的 IP,以及修改后的源、目的 IP,并以 hash 结构存储当数据包过来时,无论是从外网还是内网过来,都逃不开上述两种情况,如果不属于上述两种情况,则一定不是表里的内容如果查到表,则自动取出需要转换后的数据转换后的数据进来,自动变成转换前的,发送出去转换前的数据进来,自动变成转换后的,发送出去 iptables中的状态检测功能是由state选项来实现的。
2009-12-09 21:03:00 692
转载 主动FTP和被动FTP
主动FTP主动方式的FTP是这样的:客户端从一个任意的非特权端口N(N>1024)连接到FTP服务器的命令端口,也就是21端口。然后客户端开始端口N+1,并发送FTP命令“port N+1”到FTP服务器。接着服务器会从它自己的数据端口(20)连接到客户端指定的数据端口(N+1)。针对FTP服务器前面的防火墙来说,必须允许以下通讯才能支持主动方式FTP:1. 任何端口到FTP服务器
2009-12-08 17:46:00 469
转载 [精华] 网络socket编程指南
Beej网络socket编程指南 -------------------------------------------------------------------------------- 介绍 Socket 编程让你沮丧吗?从man pages中很难得到有用的信息吗?你想跟上时代去编Internet
2009-12-04 09:08:00 494
转载 Linux下c语言实现将一个目录下的所有文件和目录复制到另一个目录下
#include#include#include#include#include#include#includechar paths[1000],patht[1000],temp_paths[1000],temp_patht[1000];void Copy(char *spathname,char *tpathname){ int sfd,tfd; struct stat s,t;
2009-12-03 16:17:00 6564 1
转载 SSL握手过程
一、SSL握手有三个目的:1. 客户端与服务器需要就一组用于保护数据的算法达成一致;2. 它们需要确立一组由那些算法所使用的加密密钥;3. 握手还可以选择对客户端进行认证。二、SSL握手过程:1. 客户端将它所支持的算法列表和一个用作产生密钥的随机数发送给服务器;2. 服务器从算法列表中选择一种加密算法,并将它和一份包含服务器公用密钥的证书发送给客户端;该证书还包含了用于认证目的的服务器标识,
2009-12-03 09:26:00 1014
原创 openssl静态编译和动态编译
1、静态编译./Configure linux-elf-arm -DB_ENDIAN linux:armeb-linux-gcc -mbig-endian --prefix=$(pwd)/OpenSSLa、 将openssl-0.9.8d/crypto/bio/bss_file.c中以下代码注释掉//#ifndef _FILE_OFFSET_BITS//#define _FIL
2009-12-02 10:29:00 12775 2
原创 SNMP代理简单开发
1、 参照网上到处能下到的《net-snmp安装配置手册》编译安装net-snmp5.4.2,并参照《net-snmp安装配置手册》进行相应配置。2、 根据ASN.1语法编写MIB库BAMBOO-MIB.txt。内容如下:BAMBOO-MIB DEFINITIONS ::= BEGIN IMPORTSTimeTicks FROM SNMPv2-SMIenterpris
2009-12-02 10:22:00 2650 3
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人