服务器和网络编程
文章平均质量分 79
smilejiasmile
这个作者很懒,什么都没留下…
展开
-
音视频流媒体之 IJKPlayer FFmpeg Android 编译
【代码】音视频流媒体之 IJKPlayer FFmpeg Android 编译。原创 2023-11-20 11:34:48 · 526 阅读 · 0 评论 -
P2P网络NAT穿透原理(打洞方案)
若通讯协议的内容中有IP地址的传递,如FTP协议,NAT在转换时还要把数据包内涉及协议地址交互的地方替换,否则协议就会出现地址混乱。NAT的内外网通讯双方不是平等的,允许内网机器主动发起连接访问外网,当NAT没有对应的地址转换映射表项时,会建立一个映射表项,数据包经过NAT地址转换后发送给外网的服务器,连接建立以后可双向传送数据,但却禁止反方向的主动访问:在没有对应地址映射表项情况下,不允许外网主动访问内网主机,因为没有对应的地址映射表项用于转换地址,外网发送的数据包会被丢弃。转载 2023-02-22 10:06:02 · 1083 阅读 · 0 评论 -
【转】如何理解Go中不要通过共享内存来通信,而应该通过通信来共享内存?
从架构上来讲,降低共享内存的使用,本来就是解耦和的重要手段之一,举几个例子MMORPG 服务器逻辑依赖实时计算 AOI,AOI计算模块需要实时告诉其他模块,对于某个玩家:所有逻辑都依赖上述计算结果,因此角色有动作的时候才能准确的通知到对它感兴趣的人。这个计算很费 CPU,特别是 ARPG跑来跑去那转载 2022-12-06 14:43:49 · 486 阅读 · 0 评论 -
Docker bind Mounts和volume及tmpfs对比
本文总结了 bind Mounts 和 volume 及 tmpfs 三种 Docker 管理容器数据方式的区别根据官方文档的介绍:相比功能较为有限,创建一个 bind mount 之后,Host 上的一个文件/文件夹就相当于被挂载到容器里了,该文件/文件夹就被容器通过绝对路径引用了,意味着这个文件/文件夹必须实现存在于 Host 上。而使用使用时,会在 Host 主机上新建一个Docker 存储文件夹,文件夹里的内容由 Docker 管理。映射的文件/文件夹不需要存在于 Host 上,它们是按需生成的。转载 2022-06-02 10:41:36 · 836 阅读 · 0 评论 -
基于Docker的pulsar集群部署方法
GitHub链接docker-sample/pulsar at master · perayb/docker-sample · GitHub准备工作安装最新版本的docker 拉取pulsar和pulsar-manager镜像docker pull apachepulsar/pulsar:2.7.2docker pull apachepulsar/pulsar-manager:v0.2.0部署流程standalone方式部署启动容器:sh startStandal转载 2022-05-24 11:07:08 · 2925 阅读 · 0 评论 -
Linux异步IO实现方案总结
一、glibc aio1、名称由于是glibc提供的aio函数库,所以称为glibc aio。glibc是GNU发布的libc库,即c运行库。另外网上还有其他叫法posix aio,都是指glibc提供的这套aio实现方案。2、主要接口glibc aio主要包含如下接口:函数 功能 int aio_read(struct aiocb *aiocbp); 提交一个异步读 int aio_write(struct aiocb *aiocbp);...转载 2022-01-13 11:30:13 · 2102 阅读 · 0 评论 -
docker-compose配置固定IP各种问题
先附上配置version: '3.5'services: hadoop1: image: hadoop:1.3 container_name: hadoop1 command: bash -c "/usr/sbin/sshd && /bin/bash" tty: true networks: mynetwork: # 宿主机会自动配置网关IP:172.20.1.1 ipv4_address: ...原创 2021-04-07 15:14:13 · 4368 阅读 · 0 评论 -
Nginx 配置 SSL 及 HTTPS 协议通信过程
一、前言基础知识1.1 公钥密码体制(public-key cryptography)公钥密码体制分为三个部分,公钥、私钥、加密解密算法,它的加密解密过程如下:加密:通过加密算法和公钥对内容(或者说明文)进行加密,得到密文。加密过程需要用到公钥。解密:通过解密算法和私钥对密文进行解密,得到明文。解密过程需要用到解密算法和私钥。注意,由公钥加密的内容,只能由私钥进行解密,也就是说,由公钥加密的内容,如果不知道私钥,是无法解密的。公钥密码体制的公钥和算法都是公开的(这是为什么叫公钥密码体原创 2021-01-12 15:42:52 · 772 阅读 · 0 评论 -
ASIO 腾空出世 (那些年我们追过的网络库.PartII)
ASIO 腾空出世在地球最大的岛上,另一位少年开始拜读 ACE 的大作。那时候,没有 libuv 没有 libev 更没有 libevent . 有的只是 ACE. 然而这个南方小国的少年没有跟风陷入 ACE 崇拜,他以敏锐的目光察觉到了 ACE 的弊病。 ACE 哪里做的不好?又哪里是值得借鉴的?少年在给 c++ 委员会写的一篇上书中说,Proactor 模型乃最优模型。而 Proact...转载 2018-10-17 18:31:26 · 348 阅读 · 0 评论 -
那些年我们追过的网络库(PartI)
为什么要用 C++ 编写服务端程序?如果说答案是性能,那么肯定有人会满不在乎。觉得性能不够的话, 只要加机器就可以了。 然而更少的机器,意味着更低的能耗,更少的硬件投入,更少的人力资源投入去维护机器。总而言之,更低的成本。肯定会有人说,C++的开发速度太慢了。然而这并不是绝对的。C++也可以做到非常快速的开发。有句俗语 * “脚本一时爽,重构火葬场” * 说的正是脚本语言开发的项目进入维护...转载 2018-10-17 18:29:25 · 297 阅读 · 1 评论 -
Reactor和Proactor对比以及优缺点 (netty的底层原理reactor模型)
IO设计模式:Reactor和Proactor对比时接触的开源产品如Redis、ACE,事件模型都使用的Reactor模式;而同样做事件处理的Proactor,由于操作系统的原因,相关的开源产品也少;这里学习下其模型结构,重点对比下两者的异同点;反应器ReactorReactor模式结构Reactor包含如下角色:Handle 句柄;用来标识socket连接或是打开文件;S...转载 2018-10-17 17:14:23 · 1931 阅读 · 0 评论