169it科技资讯


当前位置:  编程技术>综合
本页文章导读:
    ▪简单工具让PC也能运行Android应用--真是牛啊      有些时候我们不得不承认那些将我们的妄想变成现实的“攻城狮”或“程序猿”确实相当给力。不知道有多少人曾经幻想过在自己的电脑上运行某款Android应用,而现在,这个妄想居然也被实.........
    ▪3D游戏中如何判断人物A是否朝向人物B?      提问:什么是Yaw? 回答:人物是站在X、Z构成的地面上,头顶方向为Y轴正向。Yaw是Y轴向X、Z面投影的极坐标表示,值域为[-pi, +pi]。 通过A与B的位置做向量差可以得到A指向B的向量: Vec.........
    ▪即时通讯中P2P技术的优势       在服务器的配置文件“AnyChatCoreServer.ini”中网络配置部分,“RoutingPolicy”字段表示了P2P数据路由传输策略的配置信息,可取值分别表示: 1 服务器转发模式, 所有数据传输均由服务.........

[1]简单工具让PC也能运行Android应用--真是牛啊
    来源: 互联网  发布时间: 2013-11-10
有些时候我们不得不承认那些将我们的妄想变成现实的“攻城狮”或“程序猿”确实相当给力。不知道有多少人曾经幻想过在自己的电脑上运行某款Android应用,而现在,这个妄想居然也被实现了。



你的电脑也能运行Android应用(图片引自phonearena)

    Android作为一个成长快速又极为高产的平台,在2012年终于在应用数量上与iOS平台持平。如果你也曾想过在你的Windows或Mac笔记本、台式机上运行某些Android应用,那么现在这个名为BlueStacks的工具或许可以帮你实现心愿。虽然这个工具目前还只有beta版本,但它的核心功能确实相当出彩,能够让你在电脑上进入Google Play并将应用下载安装到你的电脑。Bluestacks有Windows与Mac两个不同版本,想要体验一下的朋友可以安装到自己的电脑上亲身体验一下。

Android开发环境搭建所需资源、安装步骤图解        Android海量源码、教程与资料  

数字电视接口规范大全(行业标准)                      程序员必备:英语口语学习教程大全 

20本Linux电子书学习教程                    2013年25家IT高科技公司薪酬排行榜  

2013年Android平台8大预测                   优秀Android开发人员必须注意的10个误区 

Android开发应该掌握的28大内容和10大建议      成为“Android高手”的6个境界 

90后就业“钱景”分析:IT行业仍是最佳选择       90后就业“钱景”:IT仍是最佳选择

--------------------------------------------------------------------------------------------------------------

终生受益的43个健康常识--值得珍藏                           面试如何着装:不同职位穿着大不同     

2013年国内就业率最高的50个本科专业排名              女生面试如何着装及禁忌   

50个“最有钱景专业”的毕业生年薪一览表               毕业后头5年决定你的一生 

千万别熬夜:身体器官晚上工作时间表一览                  90后就业“钱景”:IT仍是最佳选择    

--------------------------------------------------------------------------------------------------------------

 211工程大学最新名单(共112所)                              985工程大学最新名单(共39所) 

中国“国家实验室”最新名单(共20所)                 “特色985”大学最新名单(共29所) 

2013年国内工科大学排名100强名单                          2013年中国大学580强排行榜 

女孩教你追女孩的终极技巧                         

    
[2]3D游戏中如何判断人物A是否朝向人物B?
    来源: 互联网  发布时间: 2013-11-10
提问:什么是Yaw?
回答:人物是站在X、Z构成的地面上,头顶方向为Y轴正向。Yaw是Y轴向X、Z面投影的极坐标表示,值域为[-pi, +pi]。

通过A与B的位置做向量差可以得到A指向B的向量:
Vector A_B = B.pos – A.pos

则A指向B的向量的Yaw为:
A_B_Yaw = A_B.x / A_B.z

A_B_Yaw = math.atan2(A_B.x, A_B.z)
A_B_Yaw的值域为(-pi, +pi]。

人物具有一个Yaw值属性,表示人物在3D世界中的朝向。A的朝向与"A指向B的向量的Yaw"的夹角为:
AYaw_ABYaw_InAngle = math.fabs(A_B_Yaw – A_Yaw)
AYaw_ABYaw_InAngle的值域为[0, 2pi]。
从该夹角的角度可以知道人物A是否朝向人物B。
 
作者:cpdoor2163_com 发表于2013-1-9 10:12:48 原文链接
阅读:44 评论:0 查看评论

    
[3]即时通讯中P2P技术的优势
    来源: 互联网  发布时间: 2013-11-10

在服务器的配置文件“AnyChatCoreServer.ini”中网络配置部分,“RoutingPolicy”字段表示了P2P数据路由传输策略的配置信息,可取值分别表示:

1 服务器转发模式, 所有数据传输均由服务器转发(禁止P2P);

2 P2P直传模式,NAT穿透成功的用户之间互传,穿透失败的用户由服务器转发,该策略适用于局域网使用;(默认)

3 P2P路由模式,P2P网格传输,由服务器以房间为单位,根据当前房间各用户NAT穿透情况、网络带宽等情况,动态生成一份网格路由表,流媒体数据按路由表传输,该策略适用于互联网使用。(目前还处于测试阶段)

 

一、服务器转发模式

该模式下所有数据均由服务器转发,客户端之间不进行P2P网络连接和数据传输,适用于局域网带宽充足、要求低延迟的应用场景,该模式下对服务器的带宽要求较高,但延迟较小。

 

二、P2P直传模式

该模式下,客户端之间会互相尝试P2P连接,如果P2P连接成功,则数据走P2P通道传输,如果P2P连接失败,则数据走服务器转发,该模式相对于“服务器转发模式”,将节约一部分服务器端的网络带宽,而且延迟也相对较低,适合于互联网上同一个房间在线人数不多(少于10用户)的应用场景,因为如果在线人数过多,将会造成用户端的网络拥塞。举一个极限情况下的例子:如果一个房间10个用户,而且用户之间P2P全部是可以连通的,则其中一人的数据需要复制9份,分别传给其它9个用户,这种情况下对服务器几乎无网络带宽压力,而用户端的网络带宽占用却很高。

 

三、P2P路由模式

P2P路由模式是一种适用于大规模即时通讯应用(如同一个房间上百人的视频聊天室、网络视频在线互动直播等)的数据传输模式,目前在网络电视、在线直播等非实时性领域应用较多,其基本原理是数据从A用户传递出来,传到B用户,然后B用户再传给C用户,而不需要A用户直接传给C用户。使用该模式将极大的优化网络带宽压力,让数据走P2P传输,较少的占用服务器带宽的同时,又不会阻塞用户端的网络通道,但其副作用便是延迟的成倍增加。目前网络电视直播便是采用P2P路由模式,但是在播放前均会缓冲30s-60s的数据,然后才开始播放,目前国内很少有产品能实现即时通讯领域应用P2P路由模式,AnyChat便首开先河,在国内率先推出及时通信领域的P2P路由模式应用,将延迟控制在1-3s,该项技术的成功应用,将使得AnyChat的核心竞争力更加增强。

 

AnyChat针对可不经过服务器中转的音视频应用,采用了P2P通信技术,该技术的核心在于防火墙的穿越。使用P2P通信技术,可以大大的减轻系统服务器的负荷,并成几何倍数的扩大系统的容量,且并不会因为在线用户数太多而导致服务器的网络阻塞。
      支持UPNP协议,自动搜索网络中的UPNP设备,主动打开端口映射,提高P2P通信效率。
      AnyChat采用佰锐科技拥有自主知识产权的“MultiPath”P2P网络路由算法,将服务器上的用户组成一个P2P互通的网络,流媒体数据在用户之间传递,减少对服务器的网络带宽占用,实现了一个高性能P2P网络核心。
      传统的P2P网络应用(如P2P在线影院)所采用的算法需要长时间(如30秒,或更长)的缓冲,不适合即时通讯领域所要求的低延迟的目标,“MultiPath”P2P网络路由算法便是针对即时通讯领域专门设计的P2P网络算法,它保留了P2P网络原有的网络带宽优势,同时又极大的降低了中间的缓冲时间。

在P2P路由模式下,有两项重要的配置参数“RoutingTTL”和“RoutingMTN”,客户可根据应用进行调节,这两项配置参数的详细说明如下:

RoutingTTL: 流媒体数据经过网格传输时的最大生存期,每经过一个中间用户转发,生成期减一,为0将不再继续转发,该配置项当RoutingPolicy=3时有效,设置较大时,会较大的减轻服务器带宽压力,但会带来末端用户接收数据延迟时间增加的后果。

RoutingMTN:

    
最新技术文章:
▪error while loading shared libraries的解決方法    ▪版本控制的极佳实践    ▪安装多个jdk,多个tomcat版本的冲突问题
▪简单选择排序算法    ▪国外 Android资源大集合 和个人学习android收藏    ▪.NET MVC 给loading数据加 ajax 等待loading效果
▪http代理工作原理(3)    ▪关注细节-TWaver Android    ▪Spring怎样把Bean实例暴露出来?
▪java写入excel2007的操作    ▪http代理工作原理(1)    ▪浅谈三层架构
▪http代理工作原理(2)    ▪解析三层架构……如何分层?    ▪linux PS命令
▪secureMRT Linux命令汉字出现乱码    ▪把C++类成员方法直接作为线程回调函数    ▪weak-and算法原理演示(wand)
▪53个要点提高PHP编程效率    ▪linux僵尸进程    ▪java 序列化到mysql数据库中
▪利用ndk编译ffmpeg    ▪活用CSS巧妙解决超长文本内容显示问题    ▪通过DBMS_RANDOM得到随机
▪CodeSmith 使用教程(8): CodeTemplate对象    ▪android4.0 进程回收机制    ▪仿天猫首页-产品分类
▪从Samples中入门IOS开发(四)------ 基于socket的...    ▪工作趣事 之 重装服务器后的网站不能正常访...    ▪java序列化学习笔记
▪Office 2010下VBA Addressof的应用    ▪一起来学ASP.NET Ajax(二)之初识ASP.NET Ajax    ▪更改CentOS yum 源为163的源
▪ORACLE 常用表达式    ▪记录一下,AS3反射功能的实现方法    ▪u盘文件系统问题
▪java设计模式-观察者模式初探    ▪MANIFEST.MF格式总结    ▪Android 4.2 Wifi Display核心分析 (一)
▪Perl 正则表达式 记忆方法    ▪.NET MVC 给loading数据加 ajax 等待laoding效果    ▪java 类之访问权限
▪extjs在myeclipse提示    ▪xml不提示问题    ▪Android应用程序运行的性能设计
▪sharepoint 2010 自定义列表启用版本记录控制 如...    ▪解决UIScrollView截获touch事件的一个极其简单有...    ▪Chain of Responsibility -- 责任链模式
▪运行skyeye缺少libbfd-2.18.50.0.2.20071001.so问题    ▪sharepoint 2010 使用sharepoint脚本STSNavigate方法实...    ▪让javascript显原型!
▪kohana基本安装配置    ▪MVVM开发模式实例解析    ▪sharepoint 2010 设置pdf文件在浏览器中访问
▪spring+hibernate+事务    ▪MyEclipse中文乱码,编码格式设置,文件编码格...    ▪struts+spring+hibernate用jquery实现数据分页异步加...
▪windows平台c++开发"麻烦"总结    ▪Android Wifi几点    ▪Myeclipse中JDBC连接池的配置
▪优化后的冒泡排序算法    ▪elasticsearch RESTful搜索引擎-(java jest 使用[入门])...    ▪MyEclipse下安装SVN插件SubEclipse的方法
▪100个windows平台C++开发错误之七编程    ▪串口转以太网模块WIZ140SR/WIZ145SR 数据手册(版...    ▪初识XML(三)Schema
▪Deep Copy VS Shallow Copy    ▪iphone游戏开发之cocos2d (七) 自定义精灵类,实...    ▪100个windows平台C++开发错误之八编程
▪C++程序的内存布局    ▪将不确定变为确定系列~Linq的批量操作靠的住...    ▪DIV始终保持在浏览器中央,兼容各浏览器版本
▪Activity生命周期管理之三——Stopping或者Restarti...    ▪《C语言参悟之旅》-读书笔记(八)    ▪C++函数参数小结
▪android Content Provider详解九    ▪简单的图片无缝滚动效果    ▪required artifact is missing.
▪c++编程风格----读书笔记(1)    ▪codeforces round 160    ▪【Visual C++】游戏开发笔记四十 浅墨DirectX教程...
▪【D3D11游戏编程】学习笔记十八:模板缓冲区...    ▪codeforces 70D 动态凸包    ▪c++编程风格----读书笔记(2)
▪Android窗口管理服务WindowManagerService计算Activity...    ▪keytool 错误: java.io.FileNotFoundException: MyAndroidKey....    ▪《HTTP权威指南》读书笔记---缓存
▪markdown    ▪[设计模式]总结    ▪网站用户行为分析在用户市场领域的应用
 


站内导航:


特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

©2012-2017,169IT.COM,E-mail:www_169it_com#163.com(请将#改为@)

浙ICP备11055608号