网络编程
文章平均质量分 74
一介丶草民
这个作者很懒,什么都没留下…
展开
-
几个网络编程常用的数据结构
struct sockaddr_in { sa_family_t sin_family; /* address family: AF_INET */ u_int16_t sin_port; /* port in network byte order */ struct i转载 2011-10-13 18:43:47 · 371 阅读 · 0 评论 -
Linux--线程编程 thread
进程 系统中程序执行和资源分配的基本单位 每个进程有自己的数据段、代码段和堆栈段 在进行切换时需要有比较复杂的上下文切换 线程 减少处理机的空转时间,支持多处理器以及减少上下文切换开销, 比创建进程小很多 进程内独立的一条运行路线 处理器调度的最小单元,也称为轻量级进程可以对进程的内存空间和资源进行访问,并与同一进转载 2013-08-27 15:30:23 · 589 阅读 · 0 评论 -
pthread_attr_init线程属性
1.线程属性 线程具有属性,用pthread_attr_t表示,在对该结构进行处理之前必须进行初始化,在使用后需要对其去除初始化。我们用pthread_attr_init函数对其初始化,用pthread_attr_destroy对其去除初始化。 1.名称::pthread_attr_init/pthread_attr_destro转载 2013-08-27 15:42:54 · 367 阅读 · 0 评论 -
getsockname与getpeername
getsockname与getpeername是返回套接口关联的本地协议地址和远程协议地址。int getsockname(int sockfd, struct sockaddr * localaddr, socken_t * addrlen);int getpeername(int sockfd, struct sockaddr * peeraddr, socken_t * ad转载 2013-08-26 11:45:15 · 450 阅读 · 0 评论 -
setsockopt()用法(参数详细说明)
int setsockopt(SOCKET s,int level,int optname,const char* optval,int optlen);s(套接字): 指向一个打开的套接口描述字level:(级别): 指定选项代码的类型。SOL_SOCKET: 基本套接口IPPROTO_IP: IPv4套接口IPPROTO_IPV6: IPv6套接口转载 2013-07-26 18:06:05 · 479 阅读 · 0 评论 -
Linux更改文件文件夹所属用户组(chgrp)
chown x:x ./xxx 更改所属用户组, chgrp改变文件的用户组很简单,直接用chgrp即可,这个命令就是change group(改变用户组)的缩写。这样就很好记了。不过,请记住,要改变成为的用户组名称,必须在 /etc/group里存在,否则就会显示错误。假设以root的身份登入FC4,那么,在你的家目录内有一个install.log文件,如何改变该文件的用户组呢?转载 2013-01-24 16:26:39 · 18584 阅读 · 0 评论 -
Linux时间函数
简介本文旨在为了解Linux各种时间类型与时间函数提供技术文档。1、Linux下常用时间类型Linux下常用时间类型有四种:time_t、struct tm、struct timeval、struct timespec1.1 time_t时间类型time_t类型在time.h中定义:[cpp] view plaincopyprint?转载 2013-01-24 14:13:16 · 297 阅读 · 0 评论 -
使用gethostbyname由域名或主机名得IP地址
使用这个东西,首先要包含2个头文件: #include #include struct hostent *gethostbyname(const char *name); 这个函数的传入值是域名或者主机名,例如 "www.google.com ", "wpc "等等。 传出值,是一个hostent的结构(如下)。如果函数调用失败,将返回NULL。转载 2012-05-19 11:25:48 · 348 阅读 · 0 评论 -
epoll_create epoll_ctl epoll_wait close epoll和select的简单比较
在linux的网络编程中,很长的时间都在使用select来做事件触发。在linux新的内核中,有了一种替换它的机制,就是epoll。相比于select,epoll最大的好处在于它不会随着监听fd数目的增长而降低效率。因为在内核中的select实现中,它是采用轮询来处理的,轮询的fd数目越多,自然耗时越多。并且,linux/posix_types.h头文件有这样的声明:#define __FD_转载 2011-12-10 16:55:43 · 481 阅读 · 0 评论 -
学习使用epoll
epoll是Linux下多路复用IO接口select/poll的增强版本,它能显著减少程序在大量并发连接中只有少量活跃的情况下的系统CPU利用率。 一、epoll的优点支持一个进程打开大数目的socket描述符。IO效率不随FD数目增加而线性下降。 二、epoll的使用epoll有2种工作方式:LT和ET。 LT(lev转载 2011-12-10 16:54:35 · 340 阅读 · 0 评论 -
select、poll、epoll的比较
http://my.chinaunix.net/space.php?uid=20196318&do=blog&id=366042http://blog.endlesscode.com/2010/03/27/select-poll-epoll-intro/ linux提供了select、poll、epoll接口来实现IO复用,三者的原型如下所示,本文从参数、转载 2011-12-10 17:14:54 · 296 阅读 · 0 评论 -
fork文件描述符和文件指针的区别
fork1int main(void){int fd,pid;char msg1[] = "hello world!\n";char msg2[] = "i am parent!\n";char msg3[] = "i am child!\n";i转载 2011-10-13 18:52:15 · 1109 阅读 · 1 评论 -
inet_pton+inet_ntop
Linux下这2个IP地址转换函数,可以在将IP地址在“点分十进制”和“整数”之间转换 而且,inet_pton和inet_ntop这2个函数能够处理ipv4和ipv6。算是比较新的函数了。 inet_pton函数原型如下[将“点分十进制” -> “整转载 2011-10-13 18:53:58 · 438 阅读 · 0 评论 -
sigaction(查询或设置信号处理方式)
sigaction(查询或设置信号处理方式) 相关函数 signal,sigprocmask,sigpending,sigsuspend 表头文件 #include 定义函数 int sigaction(int signum,const转载 2011-10-13 18:55:08 · 462 阅读 · 0 评论 -
accept
int client_addr_len = sizeof(struct sockaddr_in); int socksd = accept(sockfd, (struct sockaddr *)&client_addr, &client_addr_len); if(soc转载 2011-10-13 18:53:16 · 413 阅读 · 0 评论 -
fcntl和flock两个系统调用的区别
总的来说,flock函数只能锁定整个文件,无法锁定文件的某一区域。而fcntl可以利用struct flock结构体,来实现文件里部分区域锁定的操作。附:fcntl(文件描述词操作) 相关函数 open,flock表头文件 #include#inc转载 2011-10-13 18:55:45 · 2068 阅读 · 0 评论 -
sockaddr_in+结构体
struct sockaddr { unsigned short sa_family; /* address family, AF_xxx */ char sa_data[14]; /* 14 bytes of protocol address */转载 2011-10-13 18:54:35 · 454 阅读 · 0 评论