tinyfecVPN的android版本编译

在考虑实现一个P2P的公网监控点播方案,监控端通过局域网组网,局域网放一台服务器(双网卡,可上外网),作为局域网内所有监控的控制出口,该服务器上运行ZLMediaKit Server程序,集成tinyfecVPN Server的能力,通过该端口维持一个端口到公网STUN服务器的心跳(并转换为公网的地址和端口),所有接入的客户端通过公网的地址和端口点播实时的监控(协议走rtmp、rtsp或者hls均
阅读全文

关于I/O模型,和select、poll、epoll的区别

I/O模型主要包括:阻塞IO、非阻塞IO、I/O 多路复用、异步I/O和信号I/O;阻塞和非阻塞能应用于所有文件描述符。所谓阻塞方式的意思是指,当试图对该文件描述符进行读写时,如果当时没有东西可读,或者暂时不可写,程序就进入等待状态,直到有东西可读或者可写为止;而对于非阻塞状态,如果没有东西可读,或者不可写,读写函数马上返回,而不会等待,O_NONBLOCK 的标志打开文件/Socket/FIFO句柄,如果连续做 read 操作而没有数据可读,此时程序不会阻塞起来等待数据准备就绪返回,read 函数会返回
阅读全文

程序员成长体会,专业练级书籍推荐[整理中]

接触过一些非专业的同学转行到程序员这个行业的,动手能力和代码能力都很强,但是底层知识的逻辑总会稍显欠缺,我也是在想这个问题,到底缺少的是什么?专业论坛也是对从培训班出来的同学,带着各种有色眼镜,原因是什么?先看看大学软件工程类专业必修的专业课程:计算机组成原理、程序设计语言、计算机多媒体编程、计算机网络、数据结构、操作系统、编译原理、数据库、软件工程、统一建模语言、软件体系结构...;这些专业书籍
阅读全文

[c++11]左值、左值引用,右值,右值引用

  • 呱牛
  • 6113
  • C++
c++中引入了右值引用和移动语义,可以避免无谓的复制,提高程序性能,用的不多,每次看过了就忘了,整理下;
阅读全文

Windows端的java程序使用jni调用C++编写的库

Windows端的java程序使用jni调用C++编写的库,原来实现过在Android和Linux端通过JNI调用C++程序,在Windows端没有实现过,这里记录下几个关键的点;1、64位的dll工程,现在少有32位的平台,所以需要通过VisualStudio编译出64位的dll,注意属性页->C/C++->代码生成/运行库/选择多线程调试(/MTd),参考Linux编译选项的静态链
阅读全文

char *转换为string的陷阱:char*中包含较多的'\0'

  • 呱牛
  • 5863
  • C++
今天给团队调试一个错误,概率性的加密的数据没法做解密,现象是解密出来的结果和源数据长度不一致,很奇怪的现象,因为加密使用的数据是随机的,所以使得问题出现时表象是概率的问题;因为初次做加解密算法相关的项目,碰到这样的问题,首先是单步把解密流程过了一遍,发现解密没有问题,能正常的解密,但解密出来的长度就是不对,分析才发现加密后的数据的长度也不正常,所以考虑是加密源数据的问题,通过分析,才发现一个二进制
阅读全文

Python小练习

一个小工具,发现有一个开源的诗词库( https://github.com/michaelliao/shici/tree/master/web/src/main/resources/text  ),考虑导入到数据库中,诗词库是通过文件夹方式组织,所以用python发现很快的实现这个需求,主要功能包括递归枚举文件夹,然后将文件内容读出来写到数据库中。代码记录如下: 
阅读全文

你必须知道的编程语言分类

  • 瓜牛
  • 4932
我们习惯把编程语言分类为机器语言(汇编语言)和高级语言(Fortran/Lisp/Cobol/Basic/C/Pascal /C++/Java/Perl/Python),选择使用高级语言编程而不是机器语言相信大家都能说出一两个理由(比汇编语言更容易和更清晰的表达性、多平台的可移植性,但需要一个专用的编译器或者是解释器)。但网络上却没有一个指导你选择哪种高级语言作为你首要学习的语言,“你使用什么语言
阅读全文

我理解的MVP框架

  • 瓜牛
  • 4924
1、MVP框架说明MVP的通用解释如下:View 对应于Activity,负责View的绘制以及与用户交互;Model 负责处理数据的加载或者存储,比如从网络或本地数据库获取数据等;Presenter 负责完成View于Model间的交互,主要起到桥梁作用,是一个中间协调人的角色。从代码实现的角度,简单的来说MVP的关系,V调用P的方法来实现某个用户具体行为的操作(比方点击某个按钮代表的点赞),并
阅读全文

一个电话本中联系人名字搜索高亮的实现

  • 瓜牛
  • 5169
一个电话本中联系人名字搜索高亮的实现需求:实现电话本名字搜索功能的高亮实现,其中搜索支持中文、简拼、全拼搜索,对搜索匹配到的名字部分高亮显示。例如:名字:张向东全拼:zhangxiangdong简拼:zxd搜索匹配优先规则:中文(直接匹配)、简拼匹配、全拼匹配关键在全拼匹配上面,比方用户输入gd,则匹配向东两个字,同xiangdong的匹配项搜索功能通过数据库的搜索匹配实现,也就是输入是搜索的输入
阅读全文