- 博客(42)
- 资源 (2)
- 收藏
- 关注
转载 谈谈gomod/goproxy/gosumdb
大家都知道go modules是go1.11版本加的新特性。官方的定义是:Modules模块是相关Go包的集合。modules是源代码交换和版本控制的单元。 go命令直接支持使用modules,包括记录和解析对其他模块的依赖性。modules替换旧的基于GOPATH的方法来指定在给定构建中使用哪些源文件。一、如何使用go mod?1、升级go版本,go version >= 1.11(当前是1.14,https://studygolang.com/dl)2、设置环境变量GO111
2021-08-23 14:18:27 604
原创 Linux常用命令-备注
Linux常用命令-备注1.GDB 线程跟踪-锁线程set scheduler-locking on2.查看进程死循环,多线程cpu跑高的命令:top -H -p pid #pid需要查看的进程,此命令查看进行中详细线程暂用cpu的信息pstack pid_thead #查看某个进行或者线程(根据pid_thread而定)的栈信息。3. 手动升级wget http://ip:port/xxpackage.zipunzip xxpackage.zipsh xxpackeg/shel..
2020-12-08 16:58:14 393
原创 linux shell获取所有网卡的ip_v4地址方法
请对比两种方案:方案一:infs=(`ls/sys/class/net`)foriin${infs[*]}do get_ip=`ifconfig${i}2>/dev/null|awk'/inet/{print$2}'|cut-f2-d":"|awk'NR==1{print$1}'` echo ${get_ip}done...
2019-12-18 15:38:27 2072
原创 关于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
原创 CentOS关于内核模块开发环境总结
一、ubuntu 直接自带内核开发环境??我试过,编写内核模块代码可以直接make通过,但CentOS就不一样了(我测试的是CentOS 7),make会提示没有文件目录错误。二、CentOS默认不带内核开发环境需要自己手动安装:(1)uname –r 查看当前内核版本(2)yum list | grep kernel 查看当前可以直接用yum更新的内核相关包@anacon...
2019-10-29 16:01:07 3091
原创 完成端口使用总结
完成端口的设置和处理,循环方式。 overlapped io重叠的使用,内存申请等问题。 完成端口的send和recv的缓冲区的重复利用和如何释放的问题。 keepalived,windows的调用和linux的调用方式(这两个系统都有这个机制),但是默认设置不一样,并且设置的api接口也不一样。自己也可以根据这个原理定制自己的心跳机制(用settimer或线程进行定时发送心跳)。 rec...
2019-09-06 16:29:05 326
原创 网络编程几问,能回答几个?
网络编程面试中可能会被问到的问题——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
原创 服务器开发(C++篇)高手是如何炼成的?——书目整理
同样是某位大神整理的书目,记录下...数据结构与算法算法导论大话数据结构现代操作系统程序员的自我修养:链接、装载与库 推荐计算机网络:自顶向下方法TCP/IP网络编程 推荐Linux高性能服务器编程Linux多线程服务器编程libevent开源网络库TCP/IP详解 不建议直接读Linux系统编程Linux内核设计与实现汇编语言老“码”识途:从机器码到框架的系统逆向...
2019-09-03 09:58:21 241
原创 Android 音视频从入门到提高 —— 任务列表
不知何时看到某大神博文提到的任务列表,整理电脑时发现,作为笔记记录一下: 1. 在 Android 平台绘制一张图片,使用至少 3 种不同的 API,ImageView,SurfaceView,自定义 View 2. 在 Android 平台使用 AudioRecord 和 AudioTrack API 完成音频 PCM 数据的采集和播放,并实现读写音频 wav 文件...
2019-09-03 09:52:33 297
转载 vscode编辑远程linux系统下c/c++代码实现代码补全
本文说明当前的使用场景是在windows上远程编辑linux开发服务器下的代码,要一个可以代码补全的编辑器而已,并不使用它来编译运行windows程序。想用vscode作为IDE的,如果是开发windows程序建议直接下载vs。本文主要介绍vscode在编写c/c++程序时候的设置方法,我结合了官方以及网上一些文章里的方法,经过自己的反复测试改进,基本已经用的比较舒服了。最后强调下,v...
2019-06-18 11:21:33 8254
转载 Linux 中如何快速查看 C 库函数的头文件、库文件
Linux 中如何快速查看 C 库函数的头文件以及相应的函数信息使用man帮助或grep1)man命令 函数名,则能够打印该函数的所有说明,当然这个函数必须是Linux-C本身就有的函数。例如 man 3 ntohs2)grep "keyword" /usr/include/*.h |grep "typedef"以上方法可以查找关键字为keyword的结构体、类型、函数原型的定义,...
2019-06-12 16:28:52 6991 1
转载 音视频同步实现
本文主要描述了如何以音频的播放时长为基准,将视频同步到音频上以实现视音频的同步播放的。主要有以下几个方面的内容视音频同步的简单介绍 DTS 和 PTS 计算视频中Frame的显示时间 获取Audio clock(audio的播放时长) 将视频同步到音频上,实现视音频同步播放视音频同步简单介绍一般来说,视频同步指的是视频和音频同步,也就是说播放的声音要和当前显示的画面保持一致。想象...
2019-06-03 17:50:19 1617
转载 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
原创 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
原创 如何实现带宽速度测试的功能?看看srs开源服务器的实现
一、总结如下几点:通过send函数和recv函数计算发送和接收的总字节数,并通过发送和接收的时间段来计算收发比特率。简单的计算为totalsizes/totaltimeduration。 如何封装发送的数据也是有讲究的,可以自定义一个增量算法,让每次发送的测试数据自动增长。 每个包发送的时间间隔是否需要设置?这个要看客户端实现,如果是select模型,可以不设置,直到socket出错后重置...
2019-05-17 09:37:34 1150
原创 动态dll接口定义的常用规范和载入方法
一、动态DLL中导出头文件编写规范案例如下:#ifdef MY_EXPORTS#define MY_API __declspec(dllexport)#else#define MY_API __declspec(dllimport)#endifclass IXXCallback //定义某功能对象接口回调函数{public: virtual ~IXXCallback() {}...
2019-04-07 14:20:17 1354
原创 flutter-desktop-embedding windows平台编译运行问题汇总
flutter大家都知道是google推出的跨平台UI平台,主要用于android/ios的界面开发,其也兼容windows linux mac等平台。本篇记录搭建windows桌面平台遇到的问题和解决方案。该项目地址为:https://github.com/google/flutter-desktop-embedding多搞事情,总是会有所收获的,吐槽一下,国内访问谷歌代码服务器会失败的...
2019-03-28 16:53:43 5600 3
原创 Vmware虚拟机Mac使用Xcode 7真机调试碰到的问题
1、vmware的macos中apple ID一直登陆不上的问题解决方法首先要保证网络正常,DNS 正常,网页能登录 https://www.apple.com适用于, osx 中登录 app store 一直在转圈的情况。原因:app store 会检查机器的smbios 信息,如果不是 mac 机器,就不让登录。假信息生成工具:Chameleon Wizard使用Chame...
2019-03-22 08:51:14 1405
原创 IPMSG(飞秋)源代码调试笔记
1、怎么发送普通消息?进行socket异步select选择,每个消息都是一个Msg包,并且分配一个senddlg为其发送消息。消息协议可以参考其他文档,消息统一封装成文本的方式发送,封装方式为[属性1:属性2:...:消息扩展消息],属性和属性之间和消息之间用冒号隔开,消息和扩展消息用消息结构体的exOffset标记隔开,发送的内容可以协定解密方式。2、使用udp协议发送,如何确定消息是否...
2019-03-19 16:26:03 3548
原创 Ubuntu12.10开机输入密码后黑屏无法进入桌面的问题记录
Ubuntu12.10安装系统的中文语音的时候一直卡住,安装不上,按我这个急性子不小心我把整个系统关闭了,再重启系统后,当进入账号界面输入正确密码后,电脑一直黑屏,无法进入桌面(可以看到鼠标)。上网查了一些方法试了不行:比如如下:图形界面程序损坏,可能是在更新内核或者安装软件的时候,把与xorg相关的文件给清除了。系统黑屏后 Ctrl+ALT+F4 进入 命令行模式sudo...
2019-03-07 13:59:31 2621
原创 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
原创 VMware 10安装unlocker补丁出现的IOError [Errno 22]错误解决方法
首先vmware10版本的unlocker死活安装不上去,老是提示python脚本错误,如下图。上网查了说IOError Errno 22 错误需要换成python2.7才能运行,试过没啥用。方法如下2、VMware10升级为12版本(直接下载12版本安装,会自动覆盖10版本,覆盖后前面已经安装的虚拟机不会有何影响,可以继续使用)。后再运行unlocker,问题得到解决。重要的事...
2019-02-26 15:12:02 1836
原创 关于sqlite3速度慢的原因解决方法
在对sqlite3 insert into 等操作时速度比较慢。 原因是因为它每次插入数据都需要访问一次磁盘,打开磁盘的速度大家可想而知,如果对数据库进行大量的操作,那么速度回很慢。 解决办法用事务的形式提交:因为我们开始事务后,进行的大量操作的语句都保存在内存中,当提交时才全部写入数据库,此时,数据库文件也就只用打开一次。 在进行大量的操作前使用如下语句:...
2019-02-26 14:49:47 18064
原创 收藏几个线性代数的直观理解
一、如何理解矩阵的「秩」?https://www.zhihu.com/question/21605094二、行列式的本质是什么?https://www.zhihu.com/question/36966326/answer/70687817三、对了解矩阵、线性变换的本质有太大帮助https://www.cnblogs.com/aliceluorong/p/7542282.html...
2019-01-30 17:28:11 599
原创 python cv2 二维图像的仿射变换,透视投影变换-记录
cv2的几个图像变换函数:仿射变换warpAffine()getAffineTransform()旋转变换(虽然属于仿射变换,但cv2提供了单独函数)getRotationMatrix2D()roate()透视投影变换warpPerspective()getPrespectiveTransform()两种变换可用下图直观形象的表达出来:上图来源:ht...
2019-01-28 09:13:25 4853
原创 python(+opencv2+numpy)对彩色图像的RGB通道提取、合成、显示并计算灰度图像
一、image中RGB通道提取,直接上代码很简单import cv2Import sysimport numpy as npimage = cv2.imread(sys.argv[1], cv2.IMREAD_COLOR)b = image[:, :, 0]g = image[:, :, 1]r = image[:, :, 2]也可以直接用opencv的split函...
2019-01-26 15:58:53 36995 2
原创 开源跨平台窗口 GuiLite 和 QT 下载安装记录
1、GuiLite--宣称6000行代码解决Windows+Linux+Mac+Android+vr+嵌入式 等的跨平台窗口解决方案。Github的项目地址:https://github.com/idea4good/GuiLite下载研究了一下,其主要思想结构是,先申请一块跟显示器(或者目标窗口)相同大小的内存,然后把图像、文字、动画等内容,像素级别的绘制到内存当中,合成一张渲染后的图像(内存...
2019-01-17 10:03:50 3110
原创 windows环境编译Opencv4.0.0问题总结
主要说明三个问题:1、静态库和动态库的编译方法2、world版和分开编译的版本说明(cmake选项)3、出现的错误解决方案。 (1)使用静态库,出现连接错误(使用动态库比较简单,用到哪个就直接关联哪个lib即可)需要关联的静态库有如下:zlib.libippicvmt.libippiw.libittnotify.libopencv_world400.li...
2019-01-17 09:19:33 2314 3
原创 python安装opencv模块踩过的坑
采用 pip 安装opencv-pythonPip install --upgrade opencv-python然后 在python 中 import cv2提示模块加载错误the specified module could not be found未加载的模块,用depends 查看是缺少了api-ms-win-downlevel-shlwapi-l1-1-0.dll...
2019-01-16 18:28:08 7562 1
原创 编译开源软件kaidan+qt for visual studio 2015踩的坑
编译开源软件kaidan+qt for visual studio 2015踩的坑Kaidan是我浏览xmpp官方网站的时候发现的一个开源软件,xmpp官网关于客户端的介绍有如下截图kandan是基于xmpp协议的IM开源软件客户端,从界面上看起来还不错,之前做过im开发,一个机灵就想下载来看看。其官方地址为:https://git.kaidan.im/kaidan/kaidan/...
2019-01-16 18:22:38 1031
转载 TCP实现P2P通信、TCP穿越NAT的方法、TCP打洞
来源:http://www.vckbase.com/index.php/wv/1471这篇文章在网络上被多处引用,用实例说话,侯老师说代码里面没有密码,手把手教你tcp打洞。这个标题用了两个顿号三个名称,其实说得是同一个东西,只是网上有不同的说法罢了,另外好像还有人叫TCP打孔(我的朋友小妞听说后问“要打孔啊,要不要我帮你去借个电钻过来啊?”“~!・¥%……・!”)。
2015-06-25 15:20:52 572
转载 IM服务器架构实现畅想
转载地址:http://www.cnblogs.com/allexw/archive/2012/12/25/2832618.html转载原因,下图对TCP穿透的逻辑描写的非常清楚,也就爱屋及乌的,不管是否为原始出处,把整篇文章都搬过来了。我把第一个问题选为:QQ的架构。呵呵,题目是不是有点大?QQ现在的最高在线用户数是1900万,我们来讨论一下要作一个这样的架构如何来作更好,大家积极发言
2015-06-25 15:09:35 630
转载 同一端口如何区分不同的Socket
为了区分不同应用进程间的网络通信和连接,主要有3个参数:通信的目的IP地址、使用的传输层协议(TCP 或 UDP)和使用的端口号。 Socket的原意是“插座”。通过将这3个参数结合起来,与一个“插座”Socket绑定,应用层就可以和传输层通过套接字接口,区分来自不同应用程序进程或网络连接的通信,实现数据传输的并发服务。 accept()产生的Socket端口号是多少?
2015-06-24 22:37:28 404
转载 使用TCP协议的NAT穿透技术
来源:http://www.cnblogs.com/regedit/articles/829725.html其实很早我就已经实现了使用TCP协议穿透NAT了,但是苦于一直没有时间,所以没有写出来,现在终于放假有一点空闲,于是写出来共享之。 一直以来,说起NAT穿透,很多人都会被告知使用UDP打孔这个技术,基本上没有人会告诉你如何使用TCP协议去穿透(甚至有的人会直接告诉你
2015-06-19 16:50:51 494
转载 QQ通信原理及QQ是怎么穿透内网进行通信的?
来源:http://f543711700.iteye.com/blog/978044QQ是一个基于TCP/UDP协议的通讯软件发送消息的时候是UDP打洞,登陆的时候使用HTTP~因为登陆服务器其实就是一个HTTP服务器,只不过不是常用的那些,那个服务器是腾讯自行开发的!!! 一、登录 QQ客户端在局域网内,当你打开QQ登录到QQ服务器时,通过外网,你的客户端与QQ服务器
2015-06-19 16:49:07 369
转载 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
原创 HWND句柄可以转换成对象的this指针吗?
大家都知道,atl对话框有个开始接收消息的宏BEGIN_MSG_MAP(theClass),其实他是对ProcessWindowMessage函数的实现,也就是说对话框的消息都会通过ProcessWindowMessage函数处理,并通过MESSAGE_HANDLE等宏转发给相应的对象或函数。 又是哪里调用了这个ProcessWindowMessage函数呢?究起源,可以在atlwin.
2014-01-22 18:16:43 2173
原创 ActiveX控件键盘消息无法响应 ATL COM
最近使用ATL创建了一个复合控件,想在其上面相应Delete的键盘消息,但发现直接响应WM_KEYDOWN消息竟然没反应,事情是这样的:1.起初我直接添加消息WM_KEYDOWN的响应函数,键盘按下,此函数不响应。2.无奈我又使用preTranslateMessage函数来拦截键盘消息,但只有少部分按键(如功能键、空格键)可以响应。3.随之我觉得使用钩子一定可以,但效果还是没有出来,钩
2013-04-07 21:54:52 1854
原创 类中的常量(高质量C++编程指南--5.4 摘录)
有时我们希望某些常量只在类中有效。由于#define定义的宏常量是全局的,不能达到目的,于是想当然地觉得应该用const修饰数据成员来实现。const数据成员的确是存在的,但其含义却不是我们所期望的。const数据成员只在某个对象生存期内是常量,而对于整个类而言却是可变的,因为类可以创建多个对象,不同的对象其const数据成员的值可以不同。 不能在类声明中初始化const数据成员。以下用
2012-03-01 18:06:45 388
原创 《c++ primer》第二章学习笔记
1.char 和wchar_t有什么区别,分别应有到什么场合?解释:它们都是字符类型。char字长为8位,wchar_t字节为16位;wchar_t常用于扩展字符集,比如汉字、日语等。wchar_t可以用wprintf()函数显示。#include using namespace std;int main (){ printf("Hello QueYouPeng
2012-02-18 19:32:27 567
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人