随笔分类 - linux环境编程
linux 学习
    
摘要:ssize_t read(int fd,void * buf ,size_t count);将fd中内容读出写到buf。返回值:如果实际读的字节数<count,返回实际读的字节数;如果实际fd中字节数>count,返回count.错误返回-1.一般正常情况下,返回的就是count,但是有可能由于信号中断或读到文件尾等原因,读的字节数可能<count.无论如何,返回值<=count.write同。
        阅读全文
                
摘要:1、UDP(1)client.c#include <stdio.h> #include <stdlib.h> #include <string.h> #include <netinet/in.h> #include <arpa/inet.h> #include <unistd.h> #include <fcntl.h> #include <sys/stat.h> #include <sys/types.h> #include <sys/socket.h> #defin
        阅读全文
                
摘要:1/*头文件:/* According to POSIX.1-2001 */#include <sys/select.h> /* According to earlier standards */#include <sys/time.h>#include <sys/types.h>#include <unistd.h>原型:int select(int nfds, fd_set *readfds, fd_set *writefds, fd_set *exceptfds, struct timeval *timeout); int pselect(
        阅读全文
                
摘要:1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162/*原型:int getopt(int argc, char * const argv[], const char *optstring);四个全局变量:extern char *optarg; //指向选项的参数的指针。extern int optind, //存储位置,下一次调用getopt的时,从optind存储的位置处重新开始检查选项。extern int o
        阅读全文
                
摘要:http://wiki.ubuntu.org.cn/index.php?title=%E8%B7%9F%E6%88%91%E4%B8%80%E8%B5%B7%E5%86%99Makefile:MakeFile%E4%BB%8B%E7%BB%8D&variant=zh-cn
        阅读全文
                
摘要:1 /* 结构体名:iovec 名称含义:I/O向量 所在头文件:#include <sys/uio.h> 头文件中的定义: /* Structure for scatter/gather I/O. */ struct iovec { void *iov_base; /* Pointer to data. */ size_t iov_len; /* Length of data. */ };说明:成员iov_base指向一个缓冲区,这个缓冲区是存放readv所接收的数据或是writev将要发送的数据。iov_len确定了接收的最大长度以及实际写入的长度。readv和wirtev是r
        阅读全文
                
摘要:1 /* #include <sys/types.h>#include <sys/socket.h>原型:int setsockopt(int sockfd, int level, int optname,const void *optval, socklen_t optlen); 功能:设置套接字状态。参数:sockfd:标识一个套接口的描述字。 level:选项定义的层次;支持SOL_SOCKET、IPPROTO_TCP、IPPROTO_IP和IPPROTO_IPV6。 optname:需设置的选项。 optval:指针,指向存放选项值的缓冲区。 optlen:op
        阅读全文
                
摘要:IPv4中使用gethostbyname()函数完成主机名到地址解析,这个函数仅仅支持IPv4,且不允许调用者指定所需地址类型的任何信息,返回的结构只包含了用于存储IPv4地址的空间。IPv6中引入了getaddrinfo()的新API,它是协议无关的,既可用于IPv4也可用于IPv6。getaddrinfo函数能够处理名字到地址以及服务到端口这两种转换,返回的是一个addrinfo的结构(列表)指针而不是一个地址清单。这些addrinfo结构随后可由套接口函数直接使用。如此以来,getaddrinfo函数把协议相关性安全隐藏在这个库函数内部。应用程序只要处理由getaddrinfo函数填写的
        阅读全文
                
摘要:1 #include <arpa/inet.h> /* 表达式格式(presentation):形如192.168.0.1,ipv6 X:X:X:X:X:X:X:X 数值格式(numeric):存储地址的二进制形式。 */ /* 原型:int inet_pton( int family, const char *strptr, void *addrptr ); 功能:将字符串strptr(即表达格式的地址)转换为网络地址。 参数:family既可以是AF_INET,也可以是AF_INET6; strptr指向ASCII地址的首地址(***.***.***.***格式),addrpt
        阅读全文
                
摘要:一、IPV4套接字地址结构#include<netinet/in.h> /**IPV4套接字地址结构**/ structin_addr { in_addrs_addr;//32位IPV4地址,这是无符号整数,网络字节序 }; /*POSIX只关注sin_family,sin_port,sin_addr,所有网络套接字地质结构都至少16字节*/ structsockaddr_in { uint8_tsin_len;//无符号八位整形,套接字地址长度(16字节) sa_family_tsin_family;//unsignedshort in_port_tsin_port;//16位T
        阅读全文
                
 
                    
                     
                    
                 
                    
                
 
         浙公网安备 33010602011771号
浙公网安备 33010602011771号