- 博客(60)
- 资源 (5)
- 收藏
- 关注
转载 ICE协议看明白
这个文件描述了以UDP为基础的请求/回答模式的多媒体会话的NAT穿越的协议。这个协议名叫ICE。ICE利用了STUN协议和它的扩展版本TURN。ICE可以被任何请求/问答模式的协议利用。例如sip。1. 简介RFC 3264 定义了一个双向会话描述协议(SDP),以建立多媒体回话。这种请求/回答模式被sip利用。 请求/回答的协议很难穿越NAT。因为它们想要建立
2014-02-18 20:10:17
8636
原创 NAT穿越技术
在VOIP通话中,穿越NAT进行SIP信息的传输非常有必要,分析了NAT的类型,SIP无法穿越NAT的原因,利用STUN进行NAT类型预测和穿越打洞,TURN协议,ICE协议以及对ICE进行扩展,实现端口预测关于对称NAT的穿越
2014-01-13 15:00:07
4346
原创 可以这样入门编译原理
学过编译原理的人都知道,编译原理这门课确实难学。我所看的关于编译原理的书籍有大家所熟悉的紫龙书以及《编译原理实践》,作者都为美国人。因为自己不是计算机专业的,所以没有上过这门课,而自学起来,由于没有一个好的导师能引导你入门,那种刚开始看的生涩和繁杂真的确实非同一般。但是,我忍住,坚持住了,并对其中的内容有了自己的学习体会。然而不管怎样,我始终相信,如果有一个好的导师引导你的入门,那么你学习这门课的
2013-12-15 15:23:56
2759
原创 CentOs下ftp虚拟用户的添加和配置
前提,已经安装好ftp服务:使用yum install vsftpd步骤如下:1 . 添加用户名:/usr/sbin/adduser-d /home/public/paper -g ftp -s /sbin/nologin hitcerc解释: 使用命令(adduser)添加hitcerc用户,不能登录系统(-s/sbin/nologin),自己的文件夹在(-d /opt/test_f
2013-12-09 21:03:40
1628
原创 信息解码
1 题意如下:一些信息编码方案要求一个编码信息被分为两部分来传输:第一部分叫做编码头,包括了信息的特征;第二部分是一个代表信息的编码,你必须写一个程序以如下的方案给信息解码。程序所用编码方案的核心是如下的一个由‘0’和‘1’组成的“关键字”的序列:0,00,01,10,000,001,010,011,100,101,110,0000,0001,…,1011,1110,00000,…
2013-11-04 20:11:35
2113
原创 Centos下安装MySQL-server和MySQL-client
1. 首先检查是否已经安装了MySQL或者mysql,命令:rpm –qa |grep MySQLrpm –qa | grep mysql由于这里讲的是安装,所以若mysql-client和mysql-server都有了,可以不安装,直接使用即可,否则删除由上面命令列出的相关程序。用rpm –e ***(这里***表示列表的东西) – nodeps(如 rpm –e MyS
2013-10-28 20:15:02
17092
原创 CentOS下双网卡单网关路由配置
假定主机的网卡1的IP地址为:219.223.244.233/21,网卡2的IP地址为:219.223.242.216/21单网为:219.223.240.1(这里21表示网络地址)首先,增加网关地址:route add -net 219.223.240.0 netmask 255.255.248.0 gw 219.223.240.1其次,修改/etc/iproute2/rt_ta
2013-10-28 20:11:50
2830
原创 Java集合框架详解
数据结构定义:是以某种形式将数据组合在一起的集合。数据结构不尽保存数据,还支持访问和处理数据的操作。在面向对象思想里,一种数据结构也被认为是一个容器(container),它是一个能存储其他对象的对象。Java集合框架:在Java中,数据结构通常称为Java集合框架(Java Collection Framework)。Java框架支持的两种容器:一种是为了存储一个元素集合,一
2013-10-01 16:38:10
1858
原创 百度2014校招笔试题(二)
算法和程序设计题:题意:长度为N(N很大)的字符,求这个字符串里的最大回文子串。算法:1 定义三个指针,分别为p,p_h和p_t。定义保存最大回文子串长度n_max;2 p从字符串的开始位置开始移动,直接最后(这里不考虑优化算法)。而p_h为在p左边的指针,p_t为在p右边的指针。当p_h依次向左,p_t依次向右时,当他们对应的字符相等时,就把增加临时变量n,即n++,
2013-09-28 20:31:09
1933
原创 百度2014校招笔试题(一)
算法和程序设计题:1 题意:一幢大楼的底层有1001根电线,这些电线一直延伸到大楼楼顶,你需要确定底层的1001个线头和楼顶的1001次线头的对应关系。你有一个电池,一个灯泡,和许多很短的电线,你需要上下楼几次才能确定电线接头的对应关系:2 解答:注明:这里每次上下楼都带着电池和灯泡,以及每次接口连接,对应接口的之前连接过的线都将拆除,所以下面不再说明。首先将底层一
2013-09-28 17:08:10
5339
26
原创 迅雷2014校招笔试题之多线程编程
一道迅雷2014校招笔试题,主要考察的为多线程实现共享数组的插入和清除。这里使用两种方法来完成改题目的实现。涉及的范围有Andriod的使用,Java多线程的深入分析等
2013-09-27 19:24:14
3927
3
原创 利用多线程计算目录数据大小
1 顺序扫描提到计算目录数据大小,我们首先想到的会是顺序遍历每个文件,并累加遍历后的结果。如下面例子,该例子使用顺序计算目录大小的方法。public class TotalFileSizeSequential{ private long getTotalSizeOfFileInDir(final File file){ if(file.isFile()
2013-09-23 10:22:12
1344
原创 Java的并发策略
首先,说起并发技术,都要先知道IO密集型和CPU密集型。那么这两种密集型的概念是怎样的呢?简单的说,就是凡事涉及大量计算的,而少数时间只花在读取IO数据的为CPU密集型,因为大量的运行只有在CPU才能进行。而凡事只需要CPU一个命令,实现如内存或硬盘的IO读写操作,而CPU根本无需或者少量计算的,就是属于IO密集型。或者这么说,如果任务被阻塞的时间少于50%,则这些任务是CPU密集型的,若任务被阻
2013-09-18 22:00:21
1565
原创 Java修饰符
Java中,有四种类的成员属性,分别为private,protected,public和默认。关于他们的区别,现解释如下:1 private:私有的,只能是类自身才能访问,如一个Java工程中,我们添加了一个包,包名为gibbon.java.test。在该包名下定义二来一个类名为Test的类。具体代码所示。package gibbon.java.test;public Class
2013-09-17 19:12:15
1118
原创 CSipSimple程序之拨打电话
与前面的短信发送一样,这里我们不在重复讲解ViewPage和Fragment以及进程间通信的内容,具体可参考前面的短信发送部分的内容。 在这一部分,主要说明程序是如何从上层到调用本地的JNI库,实现SIP打电话功能的。这里我们主要以用户输入被打用户的SPI URI,即如图点击右下角的txt按钮,然后输入被打用户的URI(如wxm@10.7.106.74),然后点击键盘按钮去往即
2013-09-15 20:13:57
3649
原创 CSimple程序之短信发送
3.1 Fragment生命周期 前面的主界面介绍到了,当ViewPage切换到发送短信这个Tab的时候,会进入到ConversationListFragment这个Fragment中。说起Fragment,就必须了解Fragment与Activity在启动界面的时候是如何调用相应的方法的。其实,Fragment和Activity的生命周期类似,这是因为Fragment寄宿在A
2013-09-15 11:23:38
2945
原创 CSipSimple程序之基本功能(三)
4 PJSUA操作在上面的添加用户操作中,其实已经和底层的JNI打交道了,如执行SipService.setAccountRegistration()这个函数之后就会调用底层的JNI库。而在执行这些JNI库之前。又关于PJSUA的一些初始化设置。这一节主要说明这个。在说明进行初始化之前,先说明下PJSIP库框架,其框架如图12所示:图12 PJSIP框架图12展示了PJSI
2013-09-15 10:48:43
3316
6
原创 CSipSimple程序之基本功能(二)
3 添加用户在Sip_Home中,有个添加用户的菜单项。对应的Class为AccountsEditList.class,而目的Class为AccountEditList-Fragment。添加完用户之后显示情况如下图4图4:AccountsEditListFragmentacitivty界面而这个class中,对添加用户这一项,如图5示: 图5添加用户界面这
2013-09-15 10:36:13
3435
原创 CSipSimple程序之基本功能(一)
1 主界面首先从主界面开始,主界面是SipHome 这个Activity。在该Activity中,引入了Andriod新版本才有的actionBar。ActionBar的作用可以统一页面导航和切换方式,可以突出显示一些重要的操作,而把一些不那么重要的或者使用频率低的放在overflow中。所以这里引入了4个Tab,分别对应DialerFragment ,CallLogListFragment,
2013-09-15 10:11:58
2691
原创 CSipSimple程序之框架介绍
CSipSimple是基于PJSIP开源协议库实现的Android程序,这里主要围绕CSipSimple的功能实现讲解。凡是在CSipSimple中涉及到的Android知识点以及PJSIP相关内容都会进一步的分析。 CSipSimple由应用层,JNI层,驱动层等组成。其中应用层和JNI层是该程序的核心,而驱动层根据设备提供。 在应用层中,主要围绕了Android
2013-09-15 10:01:16
3544
基于Java的文件加密与解密
2013-03-07
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅