随笔分类 -  network

摘要:这似乎是一个非常简单的话题, 就跟"是个人就能做网站"一样, 你可能也认为"是个人就能写使用TCP socket的网络程序". 不过, 下面介绍的几个基本的原理的做法, 你可能并没有理解. TCP是一种流式的协议, 简单的说, TCP不检查数据的语义, 更不会检查数据的边界, 而应用层一般使用的是报 阅读全文
posted @ 2019-12-21 22:48 南哥的天下 阅读(1051) 评论(0) 推荐(0) 编辑
摘要:情况:服务器程序在某一时刻,程序端口正常在运行,telnet程序的端口无法打开,但是客户端请求能正常连接;针对出现这一系列的故障,百思不得其解,然后查日志,数据抓包,然后在处理过程中针对SYN_RECV的相关问题,分享给大家,仅供参考;等灵异的问题处理完成,再把结果和处理的过程分享给大家; [sto 阅读全文
posted @ 2019-12-21 10:10 南哥的天下 阅读(13085) 评论(0) 推荐(0) 编辑
摘要:线程池+同步io和异步io(浅谈) 来自于知乎大佬的一个评论 我们的系统代码从同步方式+线程池改成异步化之后压测发现性能提高了一倍,不再有大量的空闲线程,但是CPU的消耗太大,几乎打满,后来改成协程化之后减少了线程数,提高了性能(相比异步化的代码,性能又提高了一倍以上),降低了资源消耗(主要是CPU 阅读全文
posted @ 2019-12-17 22:59 南哥的天下 阅读(1499) 评论(0) 推荐(0) 编辑
摘要:消息队列」看过来! 一、什么是消息队列? 当我试图用一则通俗的比喻来说明这个概念的时候,我想到一个有意思的比喻:如果把队列抽象成一个集合体,那么消息队列也就是一堆消息的集合。按照这个思路我想到了「杂志」。这不就是一堆消息的集合吗,关心这些消息的人都能通过「购买」来获得这些消息,而我可以通过不同种类的 阅读全文
posted @ 2019-12-17 22:32 南哥的天下 阅读(318) 评论(0) 推荐(0) 编辑
摘要:关于TCP粘包和拆包的终极解答 程序员行业有一些奇怪的错误的观点(误解),这些误解非常之流行,而且持有这些错误观点的人经常言之凿凿,打死也不相信自己有错,实在让人啼笑皆非。究其原因,还是因为这些错误观点所对应的正确观点不符合人的正常思维习惯,是扭曲人的直观感受的。 有两个错误观点非常之经典,一而再, 阅读全文
posted @ 2019-12-16 17:50 南哥的天下 阅读(445) 评论(0) 推荐(0) 编辑
摘要:关于 TCP/IP,必知必会的10个问题 一、TCP/IP模型 TCP/IP协议模型(Transmission Control Protocol/Internet Protocol),包含了一系列构成互联网基础的网络协议,是Internet的核心协议。 基于TCP/IP的参考模型将协议分成四个层次, 阅读全文
posted @ 2019-11-21 14:16 南哥的天下 阅读(589) 评论(0) 推荐(0) 编辑
摘要:开源C/C++网络库:ACE C++语言 跨平台Boost的ASIO C++语言 跨平台libevent C语言 主要支持linux,新版增加了对windows的IOCP的支持libev C语言 只支持linux,只封装了EPOLL模型层次架构:ACE:底层是OS适配层,上一层C++的wrap类,再 阅读全文
posted @ 2016-02-18 11:11 南哥的天下 阅读(6421) 评论(0) 推荐(0) 编辑
摘要:webservice and soap HTTP只负责把数据传送过去,不会管这个数据是XML、HTML、图片、文本文件或者别的什么。而SOAP协议则定义了怎么把一个对象变成XML文本,在远程如何调用等,怎么能够混为一谈。 这样说两种协议: HTTP就是邮局的协议,他们规定了你的信封要怎么写,要贴多少 阅读全文
posted @ 2015-07-23 23:01 南哥的天下 阅读(505) 评论(0) 推荐(0) 编辑
摘要:一、TCP粘包 1. 什么时候考虑粘包 如果利用tcp每次发送数据,就与对方建立连接,然后双方发送完一段数据后,就关闭连接,这样就不会出现粘包问题(因为只有一种包结构,类似于http协议,UDP不会出现粘包现象)。关闭连接主要要双方都发送close连接(参考tcp关闭协议)。如:A需要发送一段字符串 阅读全文
posted @ 2015-07-22 21:15 南哥的天下 阅读(661) 评论(0) 推荐(0) 编辑
摘要:启动服务器程序,服务器程序正在等待客户端的连接 我们使用一次telnet命令就建立一个连接 打开多个终端窗口执行下列命名 #telnet 192.168.255.128 4444多次执行 然后我们执行如下netstat -nt |grep 4444,显示出listen监听队列中的内容 可见,在监听对 阅读全文
posted @ 2015-04-20 13:06 南哥的天下 阅读(469) 评论(0) 推荐(0) 编辑
摘要:此文讲述的内容是一个实际项目开发中的一部分内容,笔者将亲身经历写成文章。 【背景】 现需要实现这样的功能:有多个客户端连着同一个服务器。服务器和客户端之间需要“互相”知道彼此的连接状态。比如在某一时刻,服务器需要知道当前有多少个客户端正在和其通信;某一个时刻,某个客户端需要知道自己是否和服务器保持连 阅读全文
posted @ 2015-01-04 09:31 南哥的天下 阅读(658) 评论(0) 推荐(0) 编辑
摘要:1、 time_wait的作用: TIME_WAIT状态存在的理由: 1)可靠地实现TCP全双工连接的终止 在进行关闭连接四次挥手协议时,最后的ACK是由主动关闭端发出的,如果这个最终的ACK丢失,服务器将重发最终的FIN, 因此客户端必须维护状态信息允许它重发最终的ACK。如果不维持这个状态信息, 阅读全文
posted @ 2014-12-15 22:04 南哥的天下 阅读(4192) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示