网络编程
wdkirchhoff
这个作者很懒,什么都没留下…
展开
-
Windows socket编程 udp协议传送封装自定义帧
最近在出差,要在内网做个发送自定义帧结构的数据的程序,一时间没做过这类东西,在网上学习了许多新的概念,也回顾了网络程序设计课上所学的关于网络字节序的相关知识,总结如下:自定义帧结构如下:需要用到的东西包括子系统编号,设备编号,信息类型,数据体长度,数据体作为发送方,定义子系统编号为10,设备编号为1,信息类型假设为22,信息类型22的数据体长度为定值78则代码如下:cl原创 2013-01-21 22:57:38 · 35425 阅读 · 1 评论 -
Bridging and Bonding with CentOS 6.5
eth0和eth1要做bond,然后kvm虚拟机通过bridge与外界通信, 那么就要在bond上做bridge,配置文件如下,实测这样配置,可以从kvm虚拟机ping通外界拓扑。ifcfg-eth0:DEVICE=eth0BOOTPROTO=noneONBOOT=yesMASTER=bond0SLAVE=yesUSERCTL=noifcfg-eth1:DEVICE=eth1BOOTP原创 2015-08-10 17:08:22 · 789 阅读 · 0 评论 -
确定主机字节序的程序
int main(int argc,char **argv) { int sockfd, n; char buf[MAXLINE]; union { short s; char c[sizeof(short)]; } un; un.s = 0x0102; if (sizeof(short) == 2) {原创 2015-05-24 09:48:58 · 1404 阅读 · 0 评论 -
TCP/IP中的TIME_WAIT状态
毫无疑问,TCP中有关网络编程最不容易理解的是它的TIME_WAIT状态,TIME_WAIT状态存在于主动关闭socket连接的一方。 TIME_WAIT状态存在的理由: TCP/IP协议就是这样设计的,是不可避免的。主要有两个原因: 1)可靠地实现TCP全双工连接的终止 TCP协议在关闭连接的四次握手过程中,最终的ACK是由主动关闭连接的一端(后面统称A端)发出的,如果这个ACK丢失,原创 2015-05-23 19:52:42 · 1784 阅读 · 0 评论 -
IP地址0.0.0.0表示什么
今天遇到这样的问题,0.0.0.0代表什么?参考RFC文档: 0.0.0.0/8 - Addresses in this block refer to source hosts on “this” network. Address 0.0.0.0/32 may be used as a source address for this host on this network; other ad原创 2015-03-25 22:25:17 · 39042 阅读 · 5 评论 -
c语言字符输出格式化
符号属性 长度属性 基本型 所占位数 取值范围 输入符举例 输出符举例-- -- char 8 -2^7 ~ 2^7-1 %c %c、%d、%usigned -- char 8转载 2013-01-28 16:38:54 · 1051 阅读 · 0 评论 -
C语言 printf
今天注册了下皮皮书屋发现注册要这样才行下面我们分析下,为何是4321首先 得看printf的返回类型是 int 这个函数的返回值是 你输出的位数 所以 printf 43返回值就是2 printf 2返回值是1 还有一个你要了解的是 printf函数处理方式 从右至左 所以先执行printf i 输出 43 返回2 然后执行 printf 2 输出2 返回1原创 2013-01-29 12:31:21 · 629 阅读 · 0 评论 -
C语言 罕见输出格式
格式化的规则:· 如果要打印指针,使用%p格式符,这样可以使程序在32位及64位平台上均可运行· 如果打印一个计数的字符串,使用%Z (ANSI)或者%wZ (Unicode),它可以正确打印出非空结束的字符串· 如果需要打印Unicode值,必须确认程序运行在DISPATCH_LEVEL级别之下· 每个输出调用限制在转载 2013-01-26 17:25:37 · 722 阅读 · 0 评论 -
C语言 数组char a[4] 保存了一个数据,怎么转换为unsigned int呢 ?
数组char a[4] 保存了一个数据,怎么转换为unsigned int呢 ?定义一个 联合体 union b{ char a[4]; unsigned int b;};只需要给a赋值 然后去读b就OK 当然这里要考虑大小端问题。妙~~原创 2013-01-24 22:27:10 · 1054 阅读 · 0 评论 -
SIOCADDRT: No such process
如果你添加/修改默认网关时遇到这个问题。 原因:你要添加的网关不在你主机所在的网段。 解决方法: 比如你要添加的网关是10.57.50.1 sudo route add 10.57.50.1/32 dev eth0 然后再 sudo route add default gw 10.57.50.1转载 2015-08-06 16:10:51 · 6199 阅读 · 0 评论