摘要: 函数说明参考网址http://linux.die.net/man/3/ (library call)#include extern int h_errno;struct hostent *gethostbyname(const char *name);作用:将主机域名转成IP地址。参数:主机域名。返回值:hostent结构体,如下:NULL表示失败。struct hostent {char *h_name; char **h_aliases; int h_addrtype; int h_length; char **h_addr_list; }#define h_addr h_addr_lis 阅读全文
posted @ 2013-09-24 10:29 总是TMD后知后觉 阅读(396) 评论(0) 推荐(0) 编辑
摘要: ping 命令用于查看网络上的主机是否在工作,它向该主机发送ICMPECHO_REQUEST 包。有时我们想从网络上的某台主机上下载文件,可是又不知道那台主机是否开着,就需要使用ping 命令查看。ping命令的一般格式为:ping [-dfnqrRv][-c 发送次数][-i 间隔秒数][-I 网络界面][-l 前置载入][-p 范本样式][-s 数据包大小][-t 存活数值][主机名或IP地址]参数说明:-d 使用Socket的SO_DEBUG功能。-f 极限检测。大量且快速地送网络封包给一台机器,看它的回应。-n 只输出数值。-q 不显示任何传送封包的信息,只显示最后的结果。-r 忽略普 阅读全文
posted @ 2013-09-23 14:31 总是TMD后知后觉 阅读(2816) 评论(0) 推荐(1) 编辑
摘要: Select在Socket编程中还是比较重要的,可是对于初学Socket的人来说都不太爱用Select写程序,他们只是习惯写诸如connect、accept、recv或recvfrom这样的阻塞程序(所谓阻塞方式block,顾名思义,就是进程或是线程执行到这些函数时必须等待某个事件的发生,如果事件没有发生,进程或线程就被阻塞,函数不能立即返回)。可是使用Select就可以完成非阻塞(所谓非阻塞方式non-block,就是进程或线程执行此函数时不必非要等待事件的发生,一旦执行肯定返回,以返回值的不同来反映函数的执行情况,如果事件发生则与阻塞方式相同,若事件没有发生则返回一个代码来告知事件未发生, 阅读全文
posted @ 2013-09-16 16:43 总是TMD后知后觉 阅读(331) 评论(0) 推荐(0) 编辑
摘要: 本文编辑整理自:http://hi.baidu.com/7828058/blog/item/256e16decd1a385e94ee3784.htmlhttp://www.ibm.com/developerworks/cn/linux/thread/posix_threadapi/part1/ Posix线程中的线程属性pthread_attr_t主要包括scope属性、detach属性、堆栈地址、堆栈大小、优先级。在pthread_create中,把第二个参数设置为NULL的话,将采用默认的属性配置。pthread_attr_t的主要属性的意义如下:__detachstate,表示新线程是否 阅读全文
posted @ 2013-09-16 11:47 总是TMD后知后觉 阅读(301) 评论(0) 推荐(0) 编辑
摘要: 【sigaction系统调用】功能描述:处理信号。既可用于设定对任意信号的处理方式,也可用于检验该信号的目前预设处置方式。用法:#include int sigaction(int signum, const struct sigaction *act, struct sigaction *oldact);参数:signum:除了SIGKILL和SIGSTOP之外的其它任何信号编码。act:如果值非NULL,将安装为signum关联信号的新处理方式。oldact:如果值非NULL,存储以前对signum关联信号的处理方式。sigaction的结构形态如下:struct sigaction { 阅读全文
posted @ 2013-09-16 11:15 总是TMD后知后觉 阅读(2682) 评论(0) 推荐(0) 编辑
摘要: 本文可做为TCP/IP组播技术的入门材料,文中介绍了组播通 信的概念及原理,以及用于组播应用编程的Linux API的详细资料。为了使读者更加完整的了解Linux 组播的整体概念,文中对实现该技术的核心函数也做了介绍。在文章的最后给出了一个简单的C语言套接字编程例子,说明如何创建组播应用程序。 一、导言 在网络中,主机间可以用三种不同的地址进行通信: 单播地址(unicast):即在子网中主机的唯一地址(接口)。如IP地址:192.168.100.9或MAC地址:80:C0:F6:A0:4A:B1。 广播地址:这种类型的地址用来向子网内的所有主机(接口)发送数据。如广播... 阅读全文
posted @ 2013-09-13 17:29 总是TMD后知后觉 阅读(1285) 评论(0) 推荐(0) 编辑
摘要: 【 getsockopt/setsockopt系统调用】功能描述:获取或者设置与某个套接字关联的选 项。选项可能存在于多层协议中,它们总会出现在最上面的套接字层。当操作套接字选项时,选项位于的层和选项的名称必须给出。为了操作套接字层的选项,应该 将层的值指定为SOL_SOCKET。为了操作其它层的选项,控制选项的合适协议号必须给出。例如,为了表示一个选项由TCP协议解析,层应该设定为协议 号TCP。用法:#include #include int getsockopt(int sock, int level, int optname, void *optval, socklen_t *optl 阅读全文
posted @ 2013-09-13 15:50 总是TMD后知后觉 阅读(368) 评论(0) 推荐(0) 编辑
摘要: 一.gettimeofday()函数的使用方法:1.简介:在C语言中可以使用函数gettimeofday()函数来得到时间。它的精度可以达到微妙2.函数原型:#includeintgettimeofday(struct timeval*tv,struct timezone *tz )3.说明:gettimeofday()会把目前的时间用tv 结构体返回,当地时区的信息则放到tz所指的结构中4.结构体:1>timevalstruct timeval{ long tv_sec;/*秒*/ long tv_usec;/*微妙*/};2>timezone 结构定义为:struct time 阅读全文
posted @ 2013-09-13 09:48 总是TMD后知后觉 阅读(411) 评论(0) 推荐(0) 编辑
摘要: 回调函数是一个程序员不能显式调用的函数;通过将回调函数的地址传给调用者从而实现调用。回调函数使用是必要的,在我们想通过一个统一接口实现不同的内容,这时用回掉函数非常合适。比如,我们为几个不同的设备分别写了不同的显示函数:void TVshow(); void ComputerShow(); void NoteBookShow()...等等。这是我们想用一个统一的显示函数,我们这时就可以用回掉函数了。void show(void (*ptr)()); 使用时根据所传入的参数不同而调用不同的回调函数。不同的编程语言可能有不同的语法,下面举一个c语言中回调函数的例子,其中一个回调函数不带参数,另.. 阅读全文
posted @ 2013-09-12 11:14 总是TMD后知后觉 阅读(284) 评论(0) 推荐(0) 编辑
摘要: 举个排序的例子#include #include typedef struct person {int age;char name[20];double height;} person;int sortOnAge(person* a, person* b) // 以年龄排序,用于回调{return a->age age;}int sortOnName(person* a, person* b)// 以姓名排序,用于回调{return strcmp(a->name, b->name);}int sortOnHeight(person* a, person* b)// 以身高排序 阅读全文
posted @ 2013-09-12 11:12 总是TMD后知后觉 阅读(475) 评论(0) 推荐(1) 编辑