
网络编程方面知识学习
文章平均质量分 79
Yuzhiyuxia
这个作者很懒,什么都没留下…
展开
-
SOCKET通信中TCP、UDP数据包大小的确定
UDP和TCP协议利用端口号实现多项应用同时发送和接收数据。数据通过源端口发送出去,通过目标端口接收。有的网络应用只能使用预留或注册的静态端口;而另外一些网络应用则可以使用未被注册的动态端口。因为UDP和TCP报头使用两个字节存放端口号,所以端口号的有效范围是从0到65535。动态端口的范围是从1024到65535。 MTU最大传输单元,这个最大传输单元实际上和链路层协议有着密切的关转载 2012-08-05 22:16:16 · 10101 阅读 · 0 评论 -
网络编程细节总结
TCP_NODELAY和TCP_CORK TCP_NODELAY和TCP_CORK基本上控制了包的“Nagle化”,这里我们主要讲TCP_NODELAY.Nagle化在这里的含义是采用Nagle算法把较小的包组装为更大的帧。JohnNagle是Nagle算法的发明人,后者就是用他的名字来命名的,他在1984年首次用这种方法来尝试解决福特汽车公司的网络拥塞问题(欲了解详情请参看IE转载 2017-05-03 21:04:25 · 411 阅读 · 0 评论 -
vs2012编译CZMQ-2.2.0
1、下载源码包到地址http://download.zeromq.org/czmq-2.2.0.zip下载源码,解压缩到czmq-2.2.0目录下如图所示将builds目录拷贝到czmq-2.2.0目录下(合并并覆盖),并将czmq-2.2.0移出来即文件目录由czmq-2.2.0\czmq-2.2.0变为czmq-2.2.0(这一步特别注意,下面的属性配置依赖这个配置)2、编译打原创 2014-06-22 13:55:58 · 4537 阅读 · 0 评论 -
windows下使用cygwin编译memcached1.4.15
在cygwin中编译Memcached1、 编译libeventcdwget http://memcached.googlecode.com/files/memcached-1.4.5.tar.gzcdwget http://monkey.org/~provos/libevent-1.4.14b-stable.tar.gztar zxvf libevent-1.4.原创 2013-12-19 15:40:55 · 3654 阅读 · 0 评论 -
libcurl教程
原文地址:http://curl.haxx.se/libcurl/c/libcurl-tutorial.html 译者:JGood(http://blog.youkuaiyun.com/JGood ) 译者注:这是一篇介绍如何使用libcurl的入门教程。文档不是逐字逐句按原文翻译,而是根据笔者对libcurl的理解,参考原文写成。文中用到的一些例子,可能不是出自原文,而是笔者在学习过程中转载 2013-10-22 20:49:50 · 1643 阅读 · 0 评论 -
winpcap开发包使用中的问题总结
winpcap开发包在使用中还是会有一些容易被忽略的问题的,由于这些问题可能让您在开发中产生一些莫名奇妙的结果。 首先,我们从winpcap的环境配置中可能出现的错误开始。 winpcap开发环境需要是windows操作系统,而且必须安装winpcap驱动才可以调试您的程序。如果您的程序调试出现类式如下问题:can't find wpcap.dll.......转载 2013-09-20 15:58:54 · 1691 阅读 · 0 评论 -
在Windows上编译Wireshark源代码
Wireshark最近需要开发Wireshark插件,分析一套协议,于是首先要解决的问题就是如何在windows环境下编译Wireshark,编译过程中也借鉴了一些网上的资料,但是基本都有问题,在经历无数次的失败之后的摸索,最终在Wireshark编译成功。 在编译过程中需要一下软件:Visual Studio,Python,Cygwin以及Wireshark源代码。转载 2013-08-10 11:36:39 · 1292 阅读 · 0 评论 -
UDP bind给出的错误提示10022
要求是:设备与主机之间是UDP通信,当刷新设备时,需要释放socket资源,然后再新建socket资源。(没有设置socket的地址重用属性,因为要防止会带来其他的隐患,比方说接收到旧的错误消息)sock为类成员变量 port也为类成员变量 (一些错误校验都省略了) 第一个版本: bool InitSocket() { sock = socket(AF_INE原创 2012-11-01 15:12:42 · 5592 阅读 · 0 评论 -
一个非常有趣的QTcpServer多线程编程问题
Qt 4.6自带的threaddedfortuneserver是个简单明了的 Qt C/S网络编程server端程序的例子, 该例子演示了 QTcpServer与QThread配合的方法。 代码不多, 但包含了Qt网络编程的几个关键点。- FortuneServer类从QTcpServer派生, 调用QTcpServer::listen() 监听端口等待client连接- Fortun转载 2012-08-24 13:28:01 · 4797 阅读 · 0 评论 -
“西厢计划”原理小解
待月西厢下,迎风户半开。隔墙花影动,疑是玉人来。最近推上最流行的一个关键词是”西厢计划”, 这个计划名字取得很浪漫,客户端叫做张生,对,就是西厢记里面那个翻墙去见崔莺莺小姐的张生;显然,服务器端必然叫做崔莺莺。客户端的张生是最重要的部件,可以不依赖于服务端工作。因为西厢计划的作者只是简要的介绍了一下原理,其他报道又语焉不详,我当时就觉得很好奇,花了昨天一个晚上详细读了一下源代码,终于知道怎转载 2012-08-13 13:19:42 · 2912 阅读 · 0 评论 -
TCP/IP-心跳包
心跳包就是在客户端和服务器间定时通知对方自己状态的一个自己定义的命令字,按照一定的时间间隔发送,类似于心跳,所以叫做心跳包。 用来判断对方(设备,进程或其它网元)是否正常运行,采用定时发送简单的通讯包,如果在指定时间段内未收到对方响应,则判断对方已经离线。用于检测TCP的异常断开。基本原因是服务器端不能有效的判断客户端是否在线,也就是说,服务器无法区分客户端是长时间在空闲,还是已转载 2012-08-12 17:42:29 · 7567 阅读 · 0 评论 -
epoll机制:epoll_create、epoll_ctl、epoll_wait、close
在Linux的网络编程中,很长的时间都在使用select来做事件触发。在linux新的内核中,有了一种替换它的机制,就是epoll。相比于select,epoll最大的好处在于它不会随着监听fd数目的增长而降低效率。因为在内核中的select实现中,它是采用轮询来处理的,轮询的fd数目越多,自然耗时越多。并且,linux/posix_types.h头文件有这样的声明:#define__FD_S转载 2017-05-16 23:32:34 · 437 阅读 · 0 评论