尽可能使用非阻塞socket int flags, s; ?? ?flags = fcntl (fd, F_GETFL, 0); ? ? ?? ?if (flags == -1){ ? ? ?? ??? ?close(fd); ???? ??? ?return -1; ? ??? } ? ? ? ?? ?f...
分类:
系统相关 时间:
2015-09-23 10:42:48
阅读次数:
169
概要 ioctl 功能与 fcntl 功能类似,它可以被用于描述操作的叙述字符,获取或设置属性的描述是开放式的叙事休息,但在网络编程的两个功能有关的不同类型的操作。fcntl 作、文件操作,而 ioctl 函数除了能够操作 fcntl 函数可操作的类型之外,还能够进行接口操作、路由表操作、 A...
分类:
其他好文 时间:
2015-09-16 19:38:05
阅读次数:
227
非阻塞方式程序设计介绍非阻塞方式的操作与阻塞方式的操作最大的不同点是函数的调用立刻返回,不管数据是否成功读取或者成功写入。使用fcntl()将套接字文件描述符按照如下的代码进行设置后,可以进行非阻塞的编程:
fcntl(s, F_SETFL, O_NONBLOCK);
其中的s是套接字文件描述符,使用F_SETFL命令将套接字s设置为非阻塞方式后,再进行读写操作就可以马上返回了。非阻塞程序设计的...
分类:
系统相关 时间:
2015-09-11 12:44:32
阅读次数:
186
def get_ip_address(ifname): s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) return socket.inet_ntoa(fcntl.ioctl(s.fileno(),0x8915,struct.pa...
分类:
编程语言 时间:
2015-08-26 01:23:03
阅读次数:
217
#include<stdlib.h>
#include<stdio.h>
#include<unistd.h>
#include<fcntl.h>
int?my_dup(int?fd,int?fd2)
{
????if(fd==fd2)
????????????return?fd2;
????int?n=?0;
????int?l...
分类:
其他好文 时间:
2015-08-19 23:50:39
阅读次数:
695
linux?fcntl函数? #include?<unistd.h> #include?<fcntl.h> int?fcntl(int?fd,?int?cmd); int?fcntl(int?fd,?int?cmd,?long?arg); int?fcntl(int?fd,?int?cmd,?struct?flock?*lock); [描述]...
分类:
系统相关 时间:
2015-08-12 20:01:03
阅读次数:
228
fcntl函数详解 ? 功能描述:根据文件描述词来操作文件的特性。 用法: int fcntl(int fd, int cmd); int fcntl(int fd, int cmd, long arg); int fcntl(int fd, int cmd, struct flock *lock); 参数: fd:文件描...
分类:
其他好文 时间:
2015-08-12 17:14:43
阅读次数:
152
socket信号驱动为了使一个套接字能够使用信号驱动I/O,至少需要以下3步操作。1.安装SIGIO信号2.套接字的拥有者设定为当前进程。因为SIGIO信号只会送到socket拥有者进程. 通过fcntl的F_SETOWN3.套接字必须被允许使用异步I/O。 通过fcntl的F_SETFL,设置为O...
分类:
系统相关 时间:
2015-08-06 20:03:55
阅读次数:
189
open函数调用open函数可以打开或创建一个文件#include<sys/types.h>#include<sys/stat.h>#include<fcntl.h>intopen(constchar*pathname,intflags);intopen(constchar*pathname,intflags,mode_tmode);pathname参数是要打开或创建的文件名,和fopen一样,pathn..
分类:
其他好文 时间:
2015-07-20 17:05:24
阅读次数:
125
之前在linux用python脚本写一个抓包分析小工具,是在不想用什么libpcap、pypcap所以,简单来了个tcpdump加grep搞定。基本思路是分别起tcpdump和grep两个进程,进程直接通过pipe交换数据,简单代码如下:#! /usr/bin/python
def tcpdump():
import subprocess, fcntl, os
# sudo tcpdump...
分类:
编程语言 时间:
2015-07-20 14:29:46
阅读次数:
485