随笔分类 -  网络编程大全

摘要:转发: https://blog.csdn.net/pi9nc/article/details/17165171 为什么TCP 会粘包 前几天,调试mina的TCP通信, 第一个协议包解析正常,第二个数据包不完整。为什么会这样吗,我们用mina这样通信框架,还会出现这种问题? 带者问题,我们先分析一 阅读全文
posted @ 2019-06-06 11:15 DarJeely 阅读(4557) 评论(0) 推荐(0)
摘要:作者:严肃链接:https://www.zhihu.com/question/19732473/answer/20851256来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。 “阻塞”与"非阻塞"与"同步"与“异步"不能简单的从字面理解,提供一个从分布式系统角度的回答。 阅读全文
posted @ 2019-06-06 09:49 DarJeely 阅读(542) 评论(0) 推荐(0)
摘要:简单点说: 阻塞就是干不完不准回来, 非阻塞就是你先干,我现看看有其他事没有,完了告诉我一声 我们拿最常用的send和recv两个函数来说吧... 比如你调用send函数发送一定的Byte,在系统内部send做的工作其实只是把数据传输(Copy)到TCP/IP协议栈的输出缓冲区,它执行成功并不代表数 阅读全文
posted @ 2019-06-06 09:43 DarJeely 阅读(3439) 评论(0) 推荐(0)
摘要:在进行网络编程时 [2] ,我们常常见到同步(Sync)/异步(Async),阻塞(Block)/非阻塞(Unblock)四种调用方式: 同步: 所谓同步,就是在发出一个功能调用时,在没有得到结果之前,该调用就不返回。也就是必须一件一件事做,等前一件做完了才能做下一件事。 例如普通B/S模式(同步) 阅读全文
posted @ 2019-06-06 09:40 DarJeely 阅读(285) 评论(0) 推荐(0)
摘要:1、数据链路层对数据帧的长度都有一个限制,也就是链路层所能承受的最大数据长度,这个值称为最大传输单元,即MTU。以以太网为例,这个值通常是1500字节。2、对于IP数据包来讲,也有一个长度,在IP包头中,以16位来描述IP包的长度,也就是说,一个IP包,最长可能是65535字节。3、结合以上两个概念 阅读全文
posted @ 2019-06-04 15:55 DarJeely 阅读(831) 评论(0) 推荐(0)
摘要:TCP(transport control protocol,传输控制协议)是面向连接的,面向流的,提供高可靠性服务。收发两端(客户端和服务器端)都要有一一成对的socket,因此,发送端为了将多个发往接收端的包,更有效的发到对方,使用了优化方法(Nagle算法),将多次间隔较小且数据量小的数据,合 阅读全文
posted @ 2019-06-04 15:35 DarJeely 阅读(1657) 评论(0) 推荐(0)
摘要:使用Beetle构建TCP服务应用是件非常简单的事情,它并不需要你去关注Socket细节,如果你想用Socket编写高性能的TCP服务,那你要关注的东西非常多,异步数据处理,大量连接下的线程管理和连接断相关资源处理等等复杂的事情;使用Beetle那以上的事情完全都可以不用关心,因为Beetle都已经 阅读全文
posted @ 2019-05-29 09:47 DarJeely 阅读(325) 评论(0) 推荐(0)