随笔分类 - socket
摘要:http://www.th7.cn/Program/cp/2011/12/09/49853.shtmlhttp://baike.baidu.com/link?url=i1FRCniTO6KK-noJvH9BJwzSJs6H0rI1Te1_RRbDUYILlgK89Jj6xN4Yr6v22KpxdrF...
阅读全文
摘要:liunux MSG_NOSIGNAL MAC OS SO_NOSIGPIPEhttp://www.360doc.com/content/14/0109/11/15099545_343802860.shtmlhttp://blog.csdn.net/taolinke/article/details/...
阅读全文
摘要:socket编程之select() Select在Socket编程中还是比较重要的,它能够监视我们需要监视的文件描述符的变化情况——读写或是异常。 Select的函数格式(Unix系统下的伯克利socket编程,和windows下的略有区别,体现两个方面:一是select函数的第一个参数,在windows下可以忽略,但在linux下必须设为最大文件描述符加1;二是结构fd_set在两个系统里定义不一样):int select(int maxfdp,fd_set *readfds,fd_set *writefds,fd_set *errorfds,struct timeval *timeou..
阅读全文
摘要:什么是Socket Socket接口是TCP/IP网络的API,Socket接口定义了许多函数或例程,程序员可以用它们来开发TCP/IP网络上的应用程序。要学Internet上的TCP/IP网络编程,必须理解Socket接口。 Socket接口设计者最先是将接口放在Unix操作系统里面的。如果了解Unix系统的输入和输出的话,就很容易了解Socket了。网络的 Socket数据传输是一种特殊的I/O,Socket也是一种文件描述符。Socket也具有一个类似于打开文件的函数调用Socket(),该函数返 回一个整型的Socket描述符,随后的连接建立、数据传输等操作都是通过该Sock...
阅读全文
摘要:不同的CPU有不同的字节序类型 这些字节序是指整数在内存中保存的顺序 这个叫做主机序最常见的有两种1. Little endian:将低序字节存储在起始地址2. Big endian:将高序字节存储在起始地址LE little-endian最符合人的思维的字节序地址低位存储值的低位地址高位存储值的高位怎么讲是最符合人的思维的字节序,是因为从人的第一观感来说低位值小,就应该放在内存地址小的地方,也即内存地址低位反之,高位值就应该放在内存地址大的地方,也即内存地址高位BE big-endian最直观的字节序地址低位存储值的高位地址高位存储值的低位为什么说直观,不要考虑对应关系只需要把内存地址从左到
阅读全文
摘要:一般来讲ioctl在用户程序中的调用是:ioctl(int fd,int command, (char*)argstruct)。ioctl调用与网络编程有关(本文只讨论这一点),文件描述符fd实际上是由socket()系统调用返回的。参数command的取值由/usr/include/linux/sockios.h所规定。这些command的由于功能的不同,可分为以下几个小类:• 改变路由表 (例如 SIOCADDRT, SIOCDELRT),• 读/更新 ARP/RARP 缓存(如:SIOCDARP, SIOCSRARP),• 一般的与网络接口有关的(例如 SIOCGIFNAME, SIOC
阅读全文