博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Linux中网络编程的常用函数(1)
阅读量:6113 次
发布时间:2019-06-21

本文共 2291 字,大约阅读时间需要 7 分钟。

1、fcntl

头文件 #include <fcntl.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);

fcntl()用来操作文件描述符的一些特性。参数fd代表欲设置的文件描述词,参数cmd代表欲操作的指令。

其详细情况见参考中。

【1】 

【2】 

【3】 

【4】 

2、setsockopt

    setsockopt()函数用于任意类型、任意状态套接口的设置选项值。尽管在不同协议层上存在选项,但本函数仅定义了最高的“套接口”层次上的选项。

【1】 

【2】 

3、inet_aton

   inet_aton() converts the Internet host address cp from the standard numbers-and-dots notation into binary data and stores it in the structure that inp points to. inet_aton() returns non-zero if the address is valid, zero if not.

The inet_addr() function也是相同功能。

【1】 

【2】 

【3】http://linux.die.net/man/3/inet_addr

4、对于sockaddr_in结构体的定义,则不同头文件定义又不同。

struct sockaddr_in {

    sa_family_t    sin_family; /* address family: AF_INET */

    u_int16_t      sin_port;   /* port in network byte order */

    struct in_addr sin_addr;   /* internet address */

};

 

/* Internet address. */

struct in_addr {

    u_int32_t      s_addr;     /* address in network byte order */

};

【1】 

【2】 

5、htonl()

    将主机的无符号长整形数转换成网络字节顺序。

【1】 

【2】 

6、gettimeofday

    The functions gettimeofday() and settimeofday() can get and set the time as well as a timezone.

【1】 

【2】 

【3】 

【4】

7、semctl

semctl() performs the control operation specified by cmd on the semaphore set identified by semid, or on the semnum-th semaphore of that set. (The semaphores in a set are numbered starting at 0.)

系统调用semctl用来执行在信号量集上的控制操作。

【1】 

【2】 

【3】 

8、waitpid

    通过waitpid调用和wait调用来收集子进程的信息。

【1】 

【2】 

【3】 

9、getopt

getopt()用来分析命令行参数。

int getopt(int argc, char * const argv[], const char *optstring);

调用一次,返回一个选项。在命令行选项参数再也检查不到optstring中包含的选项时,返回-1,同时optind储存第一个不包含在optstring中的选项的命令行参数。

字符串optstring可以下列元素,

(1)单个字符,表示选项,

(2)单个字符后接一个冒号:表示该选项后必须跟一个参数。参数紧跟在选项后或者以空格隔开。该参数的指针赋给optarg。

(3)单个字符后跟两个冒号,表示该选项后必须跟一个参数。参数必须紧跟在选项后不能以空格隔开。该参数的指针赋给optarg。(这个特性是GNU的扩展)。

getopt处理以'-’开头的命令行参数,如optstring="ab:c::d::",命令行为getopt.exe -a -b host -ckeke -d haha

在这个命令行参数中,-a和-b就是选项元素,去掉'-',a,b,c就是选项。host是b的参数,keke是c的参数。但haha并不是d的参数,因为它们中间有空格隔开。

默认情况下getopt会重新排列命令行参数的顺序,所以到最后所有不包含在optstring中的选项的命令行参数都排到最后。

如getopt.exe -a ima -b host -ckeke -d haha,包含在optstring中命令行参数是:

-a -b host -ckeke -d

不包含在optstring中的参数为ima及haha,所以重排后,如下所示:

最后命令行参数的顺序是: -a -b host -ckeke -d ima haha

如果optstring中的字符串以'+'加号开头或者环境变量POSIXLY_CORRE被设置。那么一遇到不包含选项的命令行参数,getopt就会停止,返回-1。

【1】 

【2】 

【3】 

【4】 

【5】 

转载地址:http://mhdka.baihongyu.com/

你可能感兴趣的文章
dpkg:错误:正在解析文件 '/var/lib/dpkg/updates/0014' 第 0 行附近:在字段名 #padding 中有换行符问题的解决方法...
查看>>
【Linux】Ctentos下载
查看>>
vue中config/index.js:配置的详细理解
查看>>
springboot将项目源代码打包
查看>>
微信小程序之if操作
查看>>
【全网最全的博客美化系列教程】06.推荐和反对炫酷样式的实现
查看>>
Oracle 11g服务器安装详细步骤——图文教程(系统 windows server 2012 R2)
查看>>
SQL Server如何用SQL实现一批字符串的全部组合
查看>>
054 kafka内部机制
查看>>
Java反射机制
查看>>
php 7 新特性整理小结
查看>>
学会了这项技能,你就能获得任何想要的信息!
查看>>
IOS开发--解析复杂json数据
查看>>
linux之 修改磁盘调度算法
查看>>
tp5 数据库Db查询操作
查看>>
java web 中 filter 与 servlet的关系
查看>>
WPF 自定义IconButton
查看>>
MQTT压力测试之Tsung的使用
查看>>
【php】php输出jquery的轮询,5秒跳转指定url
查看>>
我终于开通了微信公众号
查看>>