自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(153)
  • 资源 (22)
  • 收藏
  • 关注

原创 当全连接队列满了,tcp客户端收到服务端RST信令的模拟

当tcp服务端全连接队列满了后,并且服务端也不accept取出连接,客户端再次连接时,服务端能够看到SYN_RECV状态。但是客户端看到的是ESTABLISHED状态,所以客户端自认为成功建立了连接,故其写往服务端写数据,发现数据也确实写成功了。但是后面等到服务端通过ACK+SYN告知客户端重新ACK时,发现此时客户端的业务数据已经到来了,故而认为出了问题,故重置连接。其中104代表连接被对端重置。

2024-04-16 19:33:54 253

原创 tcp的全连接队列和半连接队列满时,客户端再connect发生的情况

为何ESTABLISHED的数量是3,不是2,即刚好比全连接队列的长度大1,这里本人给出自己的看法,即在最后一个连接(即第3个)建立后,再往accept队列塞的时候,发现队列已经满了,所以就不塞了,但是连接已经建立好了。所以数目是队列的长度+1。为模拟这种情况,可以先将服务端的accept函数注释掉,这样accept queue中的连接无法被消费,从而很快就满了,而且为了快速达到效果,本人在sysctl.conf中,设置net.core.somaxconn=2,即全连接队列的长度为2.

2024-04-09 20:31:20 892

原创 linux printf往文件里面写入内容

代码里面,先将fd=1关闭掉,然后open一个文件,出来的文件描述符fd1的值就是1,然后printf向fd为1的文件里面写入东西,执行时,最终可以看到log.txt里面的字符串。为何fsync不行,fflush可以,难道是因为printf和fflush都是stdio.h里面的吗,有大神知道原因的,请不吝赐教。此时相当于疯狂往log.txt里面写入,很快发现log.txt文件很大。最后将fsync(fd1);此种请看下,程序一直在运行,每隔1秒写入一行内容,但是可以发现log.txt中看不到任何内容。

2023-11-21 17:37:16 478 5

原创 AF_UNIX和127.0.0.1(AF_INET)回环地址写数据速度对比(二)

由于测试时发送的是1.15G大小的文件,比较快就发送结束了,而且读文件,写文件是个比较费时的操作,本人考虑到读写文件费时的影响,决定发送端自己构造字符串,接收方只统计接收到的字符个数,并不写文件。然后发送端发送100秒,对比下100秒之内,AF_UNIX和回还地址接收到的字节个数。然后利用的是发送端读取大文件,接收方接收并保存为文件的方式进行测试,结果发现,AF_UNIX并未比127.0.0.1(AF_INET)回环地址优秀,若单次发送的字节数少时,回环地址反而更快。

2023-10-09 16:13:36 633

原创 AF_UNIX和127.0.0.1(AF_INET)回环地址写数据速度对比

本人想当然认为AF_UNIX速度比127.0.0.1更快,为此鄙人进行了实验。2. 用127.0.0.1写客户端和服务端,由客户端读取文件,发送给127.0.0.1服务端,然后服务端写文件,看看用127.0.0.1传递一个文件需要多久。用AF_UNIX写客户端和服务端,由客户端读取文件,发送给AF_UNIX服务端,然后服务端写文件,看看用AF_UNIX传递一个文件需要多久。今天发现linux服务端创建socket的时候,协议族用AF_UNIX即可,AF_LOCAL和AF_UNIX的值是一样的。

2023-10-08 19:42:27 791

原创 criu简单例子

linux dump功能

2023-10-07 18:12:58 300

原创 cgroup限制cpu使用率

现在想限制该cpu使用率为20%,可以通过cgroup来限制,进入/sys/fs/cgroup/cpu,通过mkdir创建cputest目录,然后进入到该目录,这里面有两个文件需要说下:cpu.cfs_period_us和cpu.cfs_quota_us,cpu.cfs_quota_us表示一个调度周期内,可以使用的cpu时间,故cpu.cfs_quota_us/cpu.cfs_period_us就是cpu使用率。,发现cgroup限制内存需要在内存涨起来之前就进行限制,cpu限制是否也有这个约束呢。

2023-09-29 20:54:31 1039

原创 setrlimit限制进程的cpu使用时间

setrlimit限制cpu运行时间

2023-09-23 13:05:04 176

原创 cgroup限制内存

cgroup对内存的限制说明

2023-09-16 22:26:08 712 1

原创 关于setuid后不能产生core文件的现象和解决方法

setuid下的coredump产生

2023-08-10 11:43:52 144

原创 coturn中turnutils_peer和turnutils_uclient使用说明

由于本人是在xxx.xxx.251.92启动的turnutils_peer,故-e后面也是这个地址。说下,turnserver.conf中,relay-ip=10.0.0.143,这个需要配置,否则loss率是100%。最后,本文的turnutils_peer和coturn服务地址在一个主机上,并且都是在公网上,若分开放,效果会更好。敲这个命令后,会向turnserver申请转发端口,如下所示,22947就是其中分配成功的一个转发端口。后面抓回路地址的包,可以看到流由coturn转发至此34800端口。

2023-05-05 18:44:21 859 1

原创 无法解析的外部符号 __mingw_vsprintf

windows下的ffmpeg是采取mingw平台上编译,本人采用的是msys2,本人需要h264,于是先在msys2里面编译了x264静态库,注意这里是静态库,动态库经过了链接,不会出现下面的问题,然后在ffmpeg里面用下面配置命令生成Makefile。符号__mingw_vsprintf找不到,本人很好奇,在x264的代码里面搜索__mingw_vsprintf调用的地方,很明显没有直接搜找到,于是到msys2里面的stdio.h,搜寻此符号,还真找到了,如下图所示。再次编译,编译通过。

2023-04-22 23:53:06 1186

原创 webrtc janus服务器部署在公网,coturn转发媒体流

coturn媒体转发实战分析

2023-04-21 18:58:53 1508

原创 ffmpeg avformat_alloc_output_context2的使用说明

封装格式输出说明

2023-02-24 20:23:42 906

原创 ffmpeg h264文件转mp4

没有B帧的文件,h264转mp4

2023-02-16 19:18:16 5700

原创 vs2017编译libass静态库,并添加到ffmpeg中去,以支持ass,subtitles滤镜

vs2017编译出libass,支持ffmpeg内嵌字幕

2023-02-04 18:08:09 1078

原创 ffmpeg为mkv封装格式的音视频文件添加内挂字幕

mkv文件中添加内挂字幕

2023-01-27 18:11:50 3085

原创 ffmpeg关于AVStream中nb_frames变量数目不正确的问题分析

AVStream中nb_frames不正确的说明

2023-01-12 21:19:22 1053

原创 vs2017调试ffprobe源码

vs2017调试ffprobe

2023-01-12 20:00:15 569

原创 ffmpeg录制H265格式的桌面视频

ffmpeg录制h265格式的桌面视频

2023-01-06 21:38:33 1945

原创 ffmpeg vs2017录制vp9格式的桌面视频

ffmpeg录制vp9格式的视频

2023-01-05 22:40:42 908

原创 关于websocket抓包时的注意事项

websocket抓包注意事项

2022-12-16 17:47:42 2086

原创 关于tcp一端断网,另一端的反应

tcp一端断掉时,另一端的反应

2022-12-03 22:28:52 1257

原创 webrtc PeerConnection的线程使用问题

webrtc PeerConnnection的使用注意事项

2022-11-07 18:50:47 292

原创 利用openssl进行aes加解密

用openssl展示aes的两种模式ecb和cbc的加解密

2022-10-18 10:53:03 4596 1

原创 ffmpeg命令行录制一个具有非IDR性质的I帧的视频

关于录制出一个具有普通I帧的视频文件的说明

2022-10-10 20:07:01 1023

原创 aes加密算法简单说明

里面简要介绍了aes的补齐规则和ecb,cbc模式

2022-09-28 18:33:16 7160

原创 音频编码器为packed(非planar)格式时的说明

录制系统声音(编码格式为非planar格式)

2022-09-02 21:21:09 745

原创 janus videoroom之媒体录制

janus音视频会议录制说明

2022-09-01 16:25:28 1243

原创 关于sip呼叫成功后,对方立马挂断的情况说明

本文给出SIP呼叫刚建立时,一端立马BYE的情况说明

2022-08-25 19:44:32 1918

原创 janus streaming运行说明

janus streaming运行说明

2022-08-10 20:26:28 780

原创 如何获取自己的公网地址

公网ip获取办法

2022-07-25 11:37:58 9742

原创 SIP协商对端返回多种音频媒体负荷类型的说明

sdp协商时对端返回多种类型的说明

2022-07-21 17:49:46 354

原创 SIP终端注册后无法收到呼入请求的情况说明

SIP注册方无法接收其他方呼入的情况说明

2022-07-20 20:46:52 1754

原创 freeswitch支持SIP H264格式视频拨打的说明

freeswitch对h264的支持,以及测试说明

2022-07-15 19:41:09 1500

原创 janus videoroom之媒体订阅

janus媒体订阅者交互流程

2022-07-11 17:35:40 249

原创 janus videoroom之媒体发布

janus媒体发布说明

2022-07-09 16:54:16 618

原创 linux动态库引用函数说明

linux动态库引用函数时的说明

2022-07-07 10:25:11 342

原创 linux主程序链接多个动态库时,若多个动态库之间存在相同的函数,则也正常调用

linux动态库使用的基本注意事项

2022-07-05 18:17:19 1115

原创 janus demo运行说明

本文简要说明了下janus的demo运行时的注意事项

2022-07-02 20:56:54 1250 4

nginx_m3u8_html.rar

nginx_m3u8_html.rar

2022-01-13

ffmpeg录制的采样率不同的琵琶行歌曲.rar

这里面有ffmpeg录制的琵琶行歌曲,一共三首,两种采样率,供读者读博客时,好体验

2021-11-24

ffmpeg_x264_dll.rar

ffmpeg动态库,支持x264,版本信息如下: ffmpeg version N-102642-g864d1ef2fc Copyright (c) 2000-2021 the FFmpeg developers built with gcc 8.1.0 (x86_64-win32-seh-rev0, Built by MinGW-W64 project) configuration: --arch=x86_64 --disable-debug --enable-shared --disable-static --enable-gpl --enable-libx264 --extra-cflags=-I/usr/local/x264/include --extra-ldflags='-L/usr/local/x264/lib -static' --pkgconfigdir=/usr/local/x264/lib/pkgconfig --prefix=/home/ffmpeg_x264_dll libavutil 57. 0.100 / 57. 0.100 libavcodec 59. 1.100 / 59. 1.100 libavformat 59. 2.101 / 59. 2.101 libavdevice 59. 0.100 / 59. 0.100 libavfilter 8. 0.101 / 8. 0.101 libswscale 6. 0.100 / 6. 0.100 libswresample 4. 0.100 / 4. 0.100 libpostproc 56. 0.100 / 56. 0.100 Hyper fast Audio and Video encoder usage: ffmpeg [options] [[infile options] -i infile]... {[outfile options] outfile}...

2021-11-23

ffmpeg-snapshot.tar.bz2

ffmpeg源码包,2021年6月最新的,编译后的版本号详情如下所示,上传只是方便自己日后查找 E:\git\webrtc\webrtc_wins_4577\src\third_party\ffmpeg_x64\vs2017_build_static\bin>ffmpeg -version ffmpeg version N-102642-g864d1ef2fc Copyright (c) 2000-2021 the FFmpeg developers configuration: --arch=x86_64 --disable-debug --prefix=./vs2017_build_static --toolchain=msvc libavutil 57. 0.100 / 57. 0.100 libavcodec 59. 1.100 / 59. 1.100 libavformat 59. 2.101 / 59. 2.101 libavdevice 59. 0.100 / 59. 0.100 libavfilter 8. 0.101 / 8. 0.101 libswscale 6. 0.100 / 6. 0.100 libswresample 4. 0.100 / 4. 0.100

2021-10-23

vs2017_build_static.rar

版本信息如下,因为是vs2017编译,所以只能保证在vs2017中用 E:\git\webrtc\webrtc_wins_4577\src\third_party\ffmpeg_x64\vs2017_build_static\bin>ffmpeg -version ffmpeg version N-102642-g864d1ef2fc Copyright (c) 2000-2021 the FFmpeg developers configuration: --arch=x86_64 --disable-debug --prefix=./vs2017_build_static --toolchain=msvc libavutil 57. 0.100 / 57. 0.100 libavcodec 59. 1.100 / 59. 1.100 libavformat 59. 2.101 / 59. 2.101 libavdevice 59. 0.100 / 59. 0.100 libavfilter 8. 0.101 / 8. 0.101 libswscale 6. 0.100 / 6. 0.100 libswresample 4. 0.100 / 4. 0.100

2021-10-23

ffmpeg_x64_dll.rar

采用mingw内部自带编译器进行编译,版本为如下: ffmpeg version N-102642-g864d1ef2fc Copyright (c) 2000-2021 the FFmpeg developers built with gcc 8.1.0 (x86_64-win32-seh-rev0, Built by MinGW-W64 project) configuration: --arch=x86_64 --prefix=/home/ffmpeg_static_x64 --disable-debug libavutil 57. 0.100 / 57. 0.100 libavcodec 59. 1.100 / 59. 1.100 libavformat 59. 2.101 / 59. 2.101 libavdevice 59. 0.100 / 59. 0.100 libavfilter 8. 0.101 / 8. 0.101 libswscale 6. 0.100 / 6. 0.100 libswresample 4. 0.100 / 4. 0.100

2021-10-23

SendMessage是否入消息队列.rar

代码是vs2017中编写和调试,有日志,可以方便调试

2021-08-28

ffmpeg_4.3.1_win64.rar

ffmpeg4 sdk库

2021-06-04

DuiEditor.zip

dui的编辑工具,用vs2019编辑的

2021-05-26

ParentChildEmbeded.rar

里面写了qt的父进程窗口嵌入子进程窗口,着重强调了拖动窗口时,tablewidget第二列编辑时, combobox下拉列表对应不上的解决方法

2021-03-07

CrashAPI.rar

当c++程序由于非法内存访问,除0等操作导致程序崩溃时,调用此api,会产生dump文件。 CRASH_API BOOL CALLBACK CrashAPI_Init(const char *pPath); CRASH_API void CALLBACK CrashAPI_Uninit(); CrashAPI_Init(".\\dump");后面发生崩溃时,会在当前目录下的dump目录生成dump文件

2021-01-24

log4cxxTest.rar

log.h和log.cpp是对log4cxx的封装,提供了LOG_INFO,LOG_ERROR这样的宏来写日志,环境是vs2015,编译是release,不是debug

2021-01-15

SshTest.rar

qssh打造的sftp登录,有登录界面,用户登录之后,可以进入到目录,并且可以将本地文件上传到目录中去

2020-08-30

ProcessEmbedded.rar

里面有两个工程,windows的和linux的,需要在vs2015中打开,qt版本是5.9.6,Makefile已经生成好了,linux的子进程路径需要做一点修改,文档里面写死了。

2020-04-30

dll_killer.rar

里面有32位和64位的工具,里面模仿spy++,拖动靶形图标到指定窗口,可以显示出进程号,然后列举出进程依赖的dll的全路径,可以快速定位程序依赖的dll是否是指定位置

2020-04-23

oracle 64位客户端和sdk下载

里面既包含了oracle客户端,也包含了sdk(oci的),64位的,不包含32位,自己在写golang中操作oracle的时候,亲自验证过可行

2020-02-17

unix高级编程(pdf格式)

分章节,pdf格式,内容详尽,并且有源代码文件,经典不容错过

2012-01-21

linux/unix shell编程(pdf)

为pdf格式,共30章,一章一个pdf文件,里面内容通俗易懂,是初学者一个非常好的选择

2012-01-20

深入浅出MFC(pdf)

这本书是一个经典的MFC方面的书,里面内容多,需要毅力,我读了两遍,未能最终读下去。

2012-01-18

TCP+IP详解(pdf)

内容详尽,经典不容错过,并且是pdf格式,易于阅读

2012-01-18

深度探索c++对象模型

非常经典,作者和c++primer为同一个人

2012-01-16

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除