
Network
文章平均质量分 77
VHeroin
这个作者很懒,什么都没留下…
展开
-
NTP协议详解
前言NTP(Network Time Protocol)网络时间协议基于UDP,用于网络时间同步的协议,使网络中的计算机时钟同步到UTC,再配合各个时区的偏移调整就能实现精准同步对时功能。提供NTP对时的服务器有很多,比如微软的NTP对时服务器,利用NTP服务器提供的对时功能,可以使我们的设备时钟系统能够正确运行。NTP报文格式NTP报文格式如上图所示,它的字段含义参考如下:LI 闰秒标识器,占用2个bitVN 版本号,占用3个bits,表示NTP的版本号,现在为3Mode 模式,.转载 2022-03-21 22:57:59 · 10166 阅读 · 1 评论 -
TCP socket如何判断连接断开
1、SocketSO_KEEPALIVE不能取代心跳线程的原因(1)SO_KEEPALIVE是系统底层的机制,用于系统维护每一个tcp连接的。(2)心跳线程属于应用层,主要用于终端和服务器连接的检查。即使SO_KEEPALIVE检测到连接正常,但并不能保证终端和服务器连接的正常。有一种情况,服务器进程死了,但它和客户端的tcp连接还连着(该连接由系统维护的)。...转载 2020-02-15 19:59:41 · 1276 阅读 · 1 评论 -
ssl的消息读写以及和tcp语义的异同
SSL实现必须读取整条记录,哪怕select返回了一个字节可读,那么ssl也要读取整个记录,这种基于纪录的读写方式就是为了正确的加密个解密。因此如果用select模型的话可能会出现一些莫名其妙的问题,事实上也正是ssl消息需要加密解密从而需要整个消息整个消息读写才使得ssl协议的行为和tcp的有了少有的不一致。 1、tcp的特点是流式传输,流式的特点就是没有消息边界,一个连接就是...转载 2020-02-15 19:51:19 · 1683 阅读 · 0 评论 -
几种开源TCPIP协议概述--LwIP,uIP,TinyTcp和uC/IP
原文地址:已缺失1、BSD TCP/IP协议栈BSD栈历史上是商业栈的起点,大多数专业TCP/IP栈(VxWorks内嵌的TCP/IP栈)是BSD栈派生的。这是因为BSD栈在BSD许可协议下提供了这些专业栈的雏形,BSD许用证允许BSD栈以修改或未修改的形式结合这些专业栈的代码而无须向创建者付版税。同时,BSD也是许多TCP/IP协议中的创新(如广域网中饿拥塞控制和避免)的点。...转载 2019-05-23 20:57:35 · 1040 阅读 · 0 评论 -
[通俗易懂]深入理解TCP协议(上):理论基础
原文地址: http://www.52im.net/thread-513-1-1.html JackJiang Lv.9 2 年前 | |只看大图 前言 TCP是一个巨复杂的协议,因为他要解决很多问题,而这些问题又带出了很多子问题和阴暗面。所以学习TCP本身是个比较痛苦的过程,但对于学习的过程却能让人有很多收获。关于TCP这个协议的细节,我还是推荐你去看W.Richa...转载 2018-10-13 17:34:28 · 273 阅读 · 0 评论 -
[通俗易懂]深入理解TCP协议(下):RTT、滑动窗口、拥塞处理
原文地址: http://www.52im.net/thread-515-1-1.htmlJackJiang Lv.9 2 年前 | |只看大图 前言 此文为系列文章的下篇,如果你对TCP不熟悉的话,请先看看上篇《[通俗易懂]深入理解TCP协议(上):理论基础》 。 上篇中,我们介绍了TCP的协议头、状态机、数据重传中的东西。但是TCP要解决一个很大的事,那就是要在...转载 2018-10-13 17:27:42 · 442 阅读 · 0 评论 -
WinHttp 接收数据代码
typedef struct tagXYWINHTTP{ LPCTSTR proxy; LPCWSTR username; LPCTSTR password; LPCWSTR useragent; // _T("Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)") LPCWSTR serv...原创 2018-10-17 22:29:32 · 890 阅读 · 0 评论 -
WebSocket协议:5分钟从入门到精通
原文地址: http://www.cnblogs.com/chyingp/p/websocket-deep-in.html WebSocket协议:5分钟从入门到精通一、内容概览WebSocket的出现,使得浏览器具备了实时双向通信的能力。本文由浅入深,介绍了WebSocket如何建立连接、交换数据的细节,以及数据帧的格式。此外,还简要介绍了针对WebSocket的安全攻击,以及协...转载 2018-07-27 14:27:10 · 385 阅读 · 0 评论 -
WebSocket协议解析
原文地址: https://www.cnblogs.com/jice1990/p/5435419.html WebSocket协议解析一、协议简介WebSocket protocol 是HTML5一种新的协议,它是实现了浏览器与服务器全双工通信,本文主要介绍WebSocket协议格式。WebSocket通信过程分为两步:握手请求和数据传输。二、握手请求1、客户端在连接请...转载 2018-07-20 15:54:23 · 407 阅读 · 0 评论 -
HTTP协议之chunk介绍
原文地址: https://blog.youkuaiyun.com/u014558668/article/details/701419562017年04月12日 13:44:15阅读数:6030当客户端向服务器请求一个静态页面或者一张图片时,服务器可以很清楚的知道内容大小,然后通过Content-Length消息首部字段告诉客户端需要接收多少数据。但是如果是动态页面等时,服务器是不可能预先知道内容大小,这时就...转载 2018-07-10 06:46:16 · 605 阅读 · 0 评论 -
libev库的框架解析
原文地址: https://blog.youkuaiyun.com/mdpmvpmao/article/details/46011639libev库的设计框架简介年初就已经将libev库的源码通读过,初次感觉非常晦涩难懂。但是随着反复的阅读,感觉其设计思想及效率优化方面都非常出色。libev库不是一个单线程的框架么?怎么应用于大型服务器网络模型中呢?后续通过memcached、muduo等库的阅读。才深入理解...转载 2018-06-13 05:20:31 · 582 阅读 · 0 评论 -
linux下非阻塞的tcp研究
原文地址:http://blog.chinaunix.net/uid-8489474-id-2031025.html以下内容转载时请注明出处。tcp协议本身是可靠的,并不等于应用程序用tcp发送数据就一定是可靠的.不管是否阻塞,send发送的大小,并不代表对端recv到多少的数据.在阻塞模式下,send函数的过程是将应用程序请求发送的数据拷贝到发送缓存中发送就返回.转载 2017-07-23 05:10:05 · 642 阅读 · 0 评论 -
TCP带外数据测试
原文地址: http://blog.youkuaiyun.com/hishentan/article/details/38351871带外数据的应用情况如果发送客户端程序由于一些原因需要取消已经写入服务器的请求,那么他就需要向服务器紧急发送一个标识取消的请求。使用带外数据的实际程序例子就是telnet,rlogin,ftp命令。前两个程序(telnet和rlogin转载 2016-12-01 22:18:02 · 613 阅读 · 0 评论 -
获取http的gzip内容并解压相关问题(续)
续上一篇,之前用zlib,自己socket构造http数据包,那个代码是很正常的。但是昨天用miniz.c来实现,用在wininet下却不行。后来参考了github上面的代码。https://github.com/wkoszek/mini_gzip修改出了一个函数。int mini_gz_get_data_offset(const unsigned char *buffer原创 2016-10-06 08:06:04 · 1231 阅读 · 0 评论 -
获取http的gzip内容并解压相关问题
转载自:http://blog.youkuaiyun.com/Squallxye/article/details/538895508年在csdn上面写了一个帖子关于解压http的gzip内容的,一直以来有不少的程序员前仆后继,持续的遇到同样的问题,正如我08年遇到的时候看的都是03 04年的帖子一样,现在把论坛上面的资料整理一下放到这里,希望能这个问题不会再困扰其他的程序员。-----转载 2016-10-05 16:55:53 · 3874 阅读 · 0 评论 -
DIY一个DNS查询器:了解DNS协议
转自李鑫大牛的博客:http://www.cnblogs.com/topdog/archive/2011/11/15/2250185.html 每当我们在浏览器上敲入任何一个域名访问某个网站的时候,我们都要使用Dns协议进行一次”域名:IP”的查询;作为命令行使用者,与dns有关用的最多的就是Nslookup 命令吧;作为程序员,以c#程序员为例,要得到一个域名的ip大概转载 2016-08-30 09:59:31 · 1443 阅读 · 0 评论 -
DIY一个DNS查询器:程序实现
转自李鑫大牛的博客:http://www.cnblogs.com/topdog/archive/2011/11/21/2257597.html上一篇文章《DIY一个DNS查询器:了解DNS协议》中讲了DNS查询协议的原理和数据结构。经过两个星期的开发,完成了该查询器的编写。期间也遇到了一些问题,如:1资源记录(Resource Record)中的RDData内容的格式。转载 2016-08-30 11:03:05 · 819 阅读 · 2 评论