网络通信
fripy
这个作者很懒,什么都没留下…
展开
-
关于netfilter的学习记录
只是一些网站记录,说不定哪天也连不过去了。。https://www.cnblogs.com/x_wukong/p/5923767.html洞悉linux下的Netfilter&iptables:什么是Netfilter?https://www.cnblogs.com/virusolf/p/5297573.html深入Linux网络核心堆栈(对于netfilt...原创 2019-10-29 16:11:49 · 211 阅读 · 0 评论 -
完成端口使用总结
完成端口的设置和处理,循环方式。 overlapped io重叠的使用,内存申请等问题。 完成端口的send和recv的缓冲区的重复利用和如何释放的问题。 keepalived,windows的调用和linux的调用方式(这两个系统都有这个机制),但是默认设置不一样,并且设置的api接口也不一样。自己也可以根据这个原理定制自己的心跳机制(用settimer或线程进行定时发送心跳)。 rec...原创 2019-09-06 16:29:05 · 326 阅读 · 0 评论 -
网络编程几问,能回答几个?
网络编程面试中可能会被问到的问题——1、Nagle算法 和 SO_NODELAY选项2、CORK算法3、Lingle选项4、SO_REUSEADDR / SO_REUSEPORT5、SO_KEEPALIVE / TCP_KEEPIDLE / TCP_KEEPINTVL / TCP_KEEPCNT6、tcp/ip协议栈层次关系 四层7、tcp三次握手四次挥手细节 time_wait ...原创 2019-09-05 10:33:43 · 172 阅读 · 0 评论 -
服务器开发(C++篇)高手是如何炼成的?——书目整理
同样是某位大神整理的书目,记录下...数据结构与算法算法导论大话数据结构现代操作系统程序员的自我修养:链接、装载与库 推荐计算机网络:自顶向下方法TCP/IP网络编程 推荐Linux高性能服务器编程Linux多线程服务器编程libevent开源网络库TCP/IP详解 不建议直接读Linux系统编程Linux内核设计与实现汇编语言老“码”识途:从机器码到框架的系统逆向...原创 2019-09-03 09:58:21 · 241 阅读 · 0 评论 -
H264码流打包分析(精华)
H264码流打包分析SODB 数据比特串-->最原始的编码数据RBSP 原始字节序列载荷-->在SODB的后面填加了结尾比特(RBSP trailing bits 一个bit“1”)若干比特“0”,以便字节对齐。EBSP 扩展字节序列载荷-- >在RBSP基础上填加了仿校验字节(0X03)它的原因是: 在NALU加到Annexb上时,需要填加每组NALU之前的开始码 StartC...转载 2019-05-17 15:16:32 · 277 阅读 · 0 评论 -
srs开源流媒体服务器中gop_cash是如何实现的?
要解决几个问题: (1)srs服务器gop_cache如何打开和关闭? (2)gop_cache缓存时间如何设置? (3)服务器如何知道某个msg是gop_cache的关键帧,并且清理前面的帧。 (4)audio和video的gop_cache如何对应起来(同步)? (5)客户端连入的时候如何把gop_cache发给客户端。 (6)gop...原创 2019-05-17 11:47:21 · 1664 阅读 · 0 评论 -
如何实现带宽速度测试的功能?看看srs开源服务器的实现
一、总结如下几点:通过send函数和recv函数计算发送和接收的总字节数,并通过发送和接收的时间段来计算收发比特率。简单的计算为totalsizes/totaltimeduration。 如何封装发送的数据也是有讲究的,可以自定义一个增量算法,让每次发送的测试数据自动增长。 每个包发送的时间间隔是否需要设置?这个要看客户端实现,如果是select模型,可以不设置,直到socket出错后重置...原创 2019-05-17 09:37:34 · 1150 阅读 · 0 评论 -
IPMSG(飞秋)源代码调试笔记
1、怎么发送普通消息?进行socket异步select选择,每个消息都是一个Msg包,并且分配一个senddlg为其发送消息。消息协议可以参考其他文档,消息统一封装成文本的方式发送,封装方式为[属性1:属性2:...:消息扩展消息],属性和属性之间和消息之间用冒号隔开,消息和扩展消息用消息结构体的exOffset标记隔开,发送的内容可以协定解密方式。2、使用udp协议发送,如何确定消息是否...原创 2019-03-19 16:26:03 · 3548 阅读 · 0 评论 -
recv返回-1后errno和WSAGetLastError的错误处理
首先errno函数是linux系统里面的,windows系统对应的要用WSAGetLastError函数。 官方详解如下链接:https://msdn.microsoft.com/zh-cn/windows/ms737828(v=vs.95) Error codes set by Windows Sockets are not made available throug...原创 2019-02-27 11:20:51 · 4074 阅读 · 0 评论 -
TCP实现P2P通信、TCP穿越NAT的方法、TCP打洞
来源:http://www.vckbase.com/index.php/wv/1471这篇文章在网络上被多处引用,用实例说话,侯老师说代码里面没有密码,手把手教你tcp打洞。这个标题用了两个顿号三个名称,其实说得是同一个东西,只是网上有不同的说法罢了,另外好像还有人叫TCP打孔(我的朋友小妞听说后问“要打孔啊,要不要我帮你去借个电钻过来啊?”“~!・¥%……・!”)。转载 2015-06-25 15:20:52 · 572 阅读 · 0 评论 -
IM服务器架构实现畅想
转载地址:http://www.cnblogs.com/allexw/archive/2012/12/25/2832618.html转载原因,下图对TCP穿透的逻辑描写的非常清楚,也就爱屋及乌的,不管是否为原始出处,把整篇文章都搬过来了。我把第一个问题选为:QQ的架构。呵呵,题目是不是有点大?QQ现在的最高在线用户数是1900万,我们来讨论一下要作一个这样的架构如何来作更好,大家积极发言转载 2015-06-25 15:09:35 · 630 阅读 · 0 评论 -
同一端口如何区分不同的Socket
为了区分不同应用进程间的网络通信和连接,主要有3个参数:通信的目的IP地址、使用的传输层协议(TCP 或 UDP)和使用的端口号。 Socket的原意是“插座”。通过将这3个参数结合起来,与一个“插座”Socket绑定,应用层就可以和传输层通过套接字接口,区分来自不同应用程序进程或网络连接的通信,实现数据传输的并发服务。 accept()产生的Socket端口号是多少?转载 2015-06-24 22:37:28 · 404 阅读 · 0 评论 -
使用TCP协议的NAT穿透技术
来源:http://www.cnblogs.com/regedit/articles/829725.html其实很早我就已经实现了使用TCP协议穿透NAT了,但是苦于一直没有时间,所以没有写出来,现在终于放假有一点空闲,于是写出来共享之。 一直以来,说起NAT穿透,很多人都会被告知使用UDP打孔这个技术,基本上没有人会告诉你如何使用TCP协议去穿透(甚至有的人会直接告诉你转载 2015-06-19 16:50:51 · 494 阅读 · 0 评论 -
NAT穿透
来源:http://blog.csdn.net/ustcgy/article/details/56550505. NAT穿透5.1 转发 最可靠但又是最低效的点对点通信方法,莫过于将p2p网络通信看作一个C/S结构,通过服务器来转发信息.如下图,两个客户端A和B,均与服务器S初始化了一个TCP或UDP连接,服务器S具有公网固定IP地址,两个客户端分布在不同的私网中,这样,他转载 2015-06-19 16:41:01 · 403 阅读 · 0 评论 -
QQ通信原理及QQ是怎么穿透内网进行通信的?
来源:http://f543711700.iteye.com/blog/978044QQ是一个基于TCP/UDP协议的通讯软件发送消息的时候是UDP打洞,登陆的时候使用HTTP~因为登陆服务器其实就是一个HTTP服务器,只不过不是常用的那些,那个服务器是腾讯自行开发的!!! 一、登录 QQ客户端在局域网内,当你打开QQ登录到QQ服务器时,通过外网,你的客户端与QQ服务器转载 2015-06-19 16:49:07 · 369 阅读 · 0 评论