
网络编程
文章平均质量分 67
我不会Debug
这个作者很懒,什么都没留下…
展开
-
htons(), ntohl(), ntohs(),htons() 函数
在C/C++写网络程序的时候,往往会遇到字节的网络顺序和主机顺序的问题。这是就可能用到htons(), ntohl(), ntohs(),htons()这4个函数。 网络字节顺序与本地字节顺序之间的转换函数: htonl()--"Host to Network Long" ntohl()--"Network to Host Long" htons转载 2011-12-17 20:47:46 · 858 阅读 · 0 评论 -
(转)网络编程:Socket编程从IPv4转向IPv6支持
目前运行主流的IT系统中,用于解决分布式系统内部模块及不同的系统间通信的一种主要的解决方案就是使用套接字Socket来开发应用。由于当前大部分正在运行的IT系统中使用套接字Socket开发环境基本上都是基于IPv4完成的,因此在IT系统由IPv4向IPv6演进方案中如何完成这部分相关应用的演进就显得尤为的关键,下面本文将从技术角度分别从编程API接口的差异性、为实现IPv6重构软件的关键技术及如何转载 2011-12-18 14:29:06 · 9771 阅读 · 0 评论 -
网络字节序与主机字节序的转换
在对IP地址结构体SOCKADDR_IN赋值的时候,经常会用到下列的函数htonl,htons,inet_addr,与之相对应的函数是ntohl,ntohs,inet_ntoa。查看这些函数的解析,会发现这些函数其实是与主机字节序和网络字节序之间转换有关。就是什么网络字节序,什么是主机字节序呢?下面我写出他们之间的转换: 用IP地址127.0.0.1为例: 第一步 127转载 2011-12-18 14:52:55 · 1160 阅读 · 0 评论 -
API SOCKET~~TCP SOCKET recv的内存情况
使用TCP SOCKET 成功连接以后,使用recv函数接收数据,内存的情况是怎样的呢?不做测试真的不知道内幕原来如此: 一个已经取得连接的TCP socket sockConn 两次接收数据的代码如下: char buf1[16]; recv(sockConn,buf1,16,0); MessageBox(buf1); char buf2[16]; recv(转载 2011-12-18 14:54:59 · 882 阅读 · 0 评论 -
Linux网络编程IPv4和IPv6的inet_addr、inet_aton、inet_pton函数
知识背景: 210.25.132.181属于IP地址的ASCII表示法,也就是字符串形式。英语叫做IPv4 numbers-and-dots notation。 如果把210.25.132.181转换为整数形式,是3524887733,这个就是整数形式的IP地址。英语叫做binary data。(其实binary是二进制的意思) 详细介绍,请参考: 网络字节序与主机字节序的转换转载 2011-12-18 14:59:25 · 1382 阅读 · 1 评论 -
setsockopt()
设置套接口的选项。 #include int PASCAL FAR setsockopt( SOCKET s, int level, int optname, const char FAR *optval, int optlen); s:标识一个套接口的描述字。 level:选项定义的层次;目前仅支持SOL_SOCKET和IPPROTO_TCP层次。 optnam转载 2012-03-13 16:48:09 · 637 阅读 · 0 评论 -
fd_set 用法
select()函数主要是建立在fd_set类型的基础上的。fd_set(它比较重要所以先介绍一下)是一组文件描述字(fd)的集合,它用一位来表示一个fd(下面会仔细介绍),对于fd_set类型通过下面四个宏来操作: fd_set set; FD_ZERO(&set); FD_SET(fd,&set); FD_CLR(fd,&set); FD_ISSET(fd,转载 2012-03-13 19:38:59 · 512 阅读 · 0 评论