标准STUN判断NAT类型的过程及改进

这里基于stund的实现,来研究标准STUN协议,判断NatType的过程。 stund用于判断NatType的接口的用法 首先来看stund中用于判断NatType的接口的用法。这里主要来看stund中的STUN客户端client....

2016/04/06 19:33
738
常见网络服务器开发开源项目代码规模

这里总结了一些常见的网络服务器开发中用到的C/C++开发的开源项目核心代码的代码规模,主要是为了后续研读这些优秀的开源项目的代码,学习他们的设计而提供一些参考。 libev 项目主页:http:...

2016/03/29 22:21
341
字库创建小记

让我们创建一个字库,它使我们可以键入一个字母,该字母可以用SVG path "M 20 -20 L 20 680 700 680 700 -20 20 -20 M 170 130 L 550 130 550 530 170 530"来定义,这是用简洁的方式来说"它看...

2015/12/26 11:27
198
在Android Studio中使用NDK/JNI - 实验版插件用户指南

介绍 新的实验版插件是基于Gradle的新组件模型机制的,它大大降低了配置时间。它还包含了NDK集成,以构建JNI应用程序。这份用户指南提供了关于如何使用它的详细信息,并特别指明了新的插件和...

2015/12/24 18:28
4.2K
构建具有超过65K个方法的Apps

由于Android平台的持续成长,Android apps的大小也一样不断变大。当你的应用程序及其引用的库达到某个大小时,你将遇到一个 表示你的app已经达到了Android app构建架构的一个限制 的build e...

2015/12/24 15:14
111
Manifest合并

通过Android Studio和基于Gradle的构建,每个app都可以在多个位置包含manifest文件,比如productFlavor的src/main/文件夹,libraries,Android Library工程的Android ARchive (AAR)和depende...

2015/12/23 20:12
1K
Gradle的Android插件

Android构建系统由一个Gradle的Android插件组成。 Gradle是一个高级的构建工具集,它可以管理依赖,并使你能够定义定制化的构建逻辑。Android Studio使用了一个Gradle包装器来完整地集成Gra...

2015/12/23 11:48
154
配置Gradle构建

这一节是在 android构建系统总览 和 用Android Studio构建及运行android app 之上构建起来的,它向你展示了如何使用基于product flavors和build types的build variants。 构建配置基础 Andr...

2015/12/22 17:39
177
用Android Studio构建及运行android app

这份文档向你展示了如何使用Android Studio来为测试或发布等目的构建一个应用程序.apk,及如何在一个模拟器或真实设备上运行你的应用程序。 使用Android Studio构建你的项目 要在Android Stu...

2015/12/22 10:42
5.3K
android构建系统总览

Android构建系统是你用于构建,测试,运行及打包你的apps的工具包。构建系统既可以作为一个集成工具通过Android Studio的菜单运行,也可以在命令行中独立地运行。你可以使用构建系统的功能来...

2015/12/21 19:19
204
Poco库异步执行框架设计与实现分析

Poco是一个强大的,用于构建C++程序的类库,它提供了许多非常好用的部件来帮助我们更快的开发C++应用程序,异步执行的相关部件正是这些好用的部件中的一部分。这里我们来看一下Poco库的异步执...

2015/12/10 19:40
567
使用LeakTracer检测android NDK C/C++代码中的memory leak

Memory issue是C/C++开发中比较常遇到,经常带给人比较大困扰,debug起来又常常让人无从下手的一类问题,memory issue主要又分为memory leak,野指针,及其它非法访问等问题。在android平台上...

2015/11/29 01:01
3.2K
NDK调试之ndk-stack

ndk-stack工具使你能够在stack traces出现在adb logcat的输出中时过滤它们。它也能将一个共享库中的任何地址替换为你的源码中的对应<source-file>:<line-number>值,以使问题能够更精确的描述...

2015/11/07 16:27
1K
NDK调试之ndk-gdb

NDK包含了一个辅助脚本ndk-gdb使你能够轻松地为你的 由NDK产生的机器码 启动一个调试会话。 要求 想要调试本地层代码,你必须遵循如下的要求: 使用ndk-build脚本编译你的app。ndk-gdb脚本不...

2015/11/07 15:02
1K
UDT协议实现分析——close过程

最后再来看一下close的过程(src/api.cpp): int CUDTUnited::close(const UDTSOCKET u) { CUDTSocket* s = locate(u); if (NULL == s) throw CUDTException(5, 4, 0); ...

2015/10/02 14:27
349
UDT协议实现分析总结

UDT的整体结构 UDT Socket是UDT中的核心,同时它也是一座桥梁,它将UDT的使用者应用程序与内部实现部分对于数据结构的管理、网络数据的传输连接起来。 应用程序通过它将数据放进发送缓冲待发...

2015/09/28 19:15
890
UDT协议实现分析——发送窗口大小及发送速率的调整

UDT主要通过在数据收发的过程中进行精细的控制来实现对于网络带宽更加有效的利用,并使网络中数据传输的速率尽可能快。 如我们前面在分析数据发送的控制中看到的,对于正常的顺序packet发送,...

2015/09/24 22:50
1K
UDT协议实现分析——UDT数据收发的可靠性保障

不管是数据的发送还是数据的接收,大体的流程我们基本上是都理了一下,还分析了数据收发过程中用的数据结构,接下来就看一些UDT中数据收发更精细的一些控制。 UDT数据收发的可靠性保障 来看一...

2015/09/23 20:27
978
UDT协议实现分析——数据的接收

看了UDT中数据发送的部分之后,我们转换一个角度,来看一下接收端发生的故事。 如我们前面在 UDT协议实现分析——连接的建立 一文中看到的那样,CUDT在connect()的后半场,会通过调用CRcvQue...

2015/09/21 20:40
1K
UDT协议实现分析——数据发送控制

在前文中,我们有看到,数据发送的过程,大体是发送者CUDT将要发送的数据放进它的CSndBuffer m_pSndBuffer,并将它自己添加进它的CSndQueue m_pSndQueue的CSndUList m_pSndUList的堆里,后面...

2015/09/18 19:34
1K

没有更多内容

加载失败,请刷新页面