logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

使用websocket解决客户端和服务器TCP长链接拆包粘包问题

客户端和服务器使用TCP进行长连接发送接收数据时,会出现粘包、拆包现象。因为TCP传输数据时是以流方式传输的,消息并非一包一包发送。传统的解决此问题的方式是发送端在发送数据前,先发送一个固定字节(例如4字节)的包含数据长度的消息。接收端先接收4字节数据,获取要接收的数据的长度,然后再获取该长度的数据。先运行服务器,再运行客户端,可以看到客户端和服务器都能收到对方发送来的数据。内部的帧结构处理了粘包

文章图片
#websocket#服务器#tcp/ip
go语言实现m3u8点播服务(不到10行代码,极为简单)

3、在代码同级目录下创建tmp文件夹,把ffmpeg生成的.m3u8文件和.ts切片文件拷入tmp文件夹下。1、使用ffmpeg对mp4文件进行切分,生成.m3u8文件和.ts切片文件。4、运行go服务 go run main.go。2、编写go代码main.go。

文章图片
#golang#开发语言#后端
理解音频PCM

PCM(Pulse Code Modulation)也被称为脉冲编码调制,是数字通信的编码方式之一。PCM中的声音数据没有被压缩,它将输入的模拟信号进行采样、量化和编码,用二进制进行编码的数来代表模拟信号的幅度,即标准的数字音频数据。

C++ 语言的多元应用场景

在当今的软件开发领域,C++ 以其卓越的性能、高效的资源利用和强大的操控能力,在众多关键应用场景中占据着不可替代的地位。它的身影广泛穿梭于音视频处理、嵌入式系统开发、游戏制作等多个对性能和效率要求极为严苛的领域,为现代科技的蓬勃发展提供了坚实的技术支撑。同时,C++ 也催生出了许多极具潜力的就业方向。

#c++#开发语言
Rapid Application Development(RAD)方法论

RAD 是一种以用户为中心的软件开发方法,它强调快速迭代和增量式开发。与传统的瀑布式开发模型不同,RAD 并不遵循严格的线性步骤,而是通过一系列的迭代过程来逐步完善软件产品。其核心在于加速软件开发周期,尽可能快地将可用的软件版本交付给用户,以便获取及时反馈并进行改进。

#软件工程
深入了解 etcd gateway:分布式系统的网络桥梁

etcd gateway 本质上是一个简单的 TCP 代理,其主要职责是将网络数据转发到 etcd 集群。它具有无状态和透明的特性,既不会对客户端请求进行检查,也不会干扰集群的响应。这意味着在数据传输过程中,etcd gateway 仅仅起到一个 “搬运工” 的作用,保证数据能够准确、高效地在客户端和 etcd 集群之间流转,而不会对数据内容进行任何额外处理。从网络架构的角度来看,etcd gat

#etcd#gateway#网络
到底了