自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

自由麦田

技术永无止境

  • 博客(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

CsipSimple源代码

最新的基于PJSIP源代码库编写的Andriod程序,实现基于SIP协议的短信发送,视频电话等功能,使用STUN,TURN以及ICE进行NAT穿越。

2013-09-16

基于Java的文件加密与解密

本程序完成用户无限制的输入数据,并生成相关文件,用户设置相关的密码之后进行加密,只有用户输入正确的密码才能看到相应的数据。主要用到Java的IO流操作。

2013-03-07

07全国电子设计获奖论文

07全国电子设计大赛国家一等奖获奖论文。

2011-07-24

文件加密和解密

该代码用C语言实现文件的加密和解密。该文件和密码由自己输入,加密后的文件保存在另一个文件中,输入自己的密码后就能实现解密

2012-10-25

字符串的操作

该c语言代码主要实现对一个字符串的操作。字符串里的数字不变换位置,字符改变。如输入abc123def。那么改变后为:cba123fed。

2012-10-25

空空如也

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

TA关注的人

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