小编1Ma*_*tup的帖子

WebRTC vs Websockets:如果WebRTC可以执行视频,音频和数据,为什么我需要Websockets?

因此,我希望建立一个允许视频,音频和文本的聊天应用程序.我花了一些时间研究Websockets和WebRTC来决定使用哪个.由于WebRTC有很多视频和音频应用程序,这听起来是一个合理的选择,但还有其他我应该考虑的事情吗?随意分享您的想法.

像:

  • 由于新的WebRTC仅在某些浏览器上可用,而websockets似乎在更多的浏览器中.

  • 可伸缩性 - Websockets使用服务器进行会话,而WebRTC似乎是p2p

  • 多路复用/多个聊天室 - 用于Google+环聊,我仍然可以查看有关如何实施的演示应用

  • 服务器 - Websockets需要RedisSessionStore或RabbitMQ来扩展多台计算机

websocket webrtc

196
推荐指数
8
解决办法
9万
查看次数

WebRTC是否适用于phonegap/Cordova?

编辑:改述我的问题和标题

因此,如果您从标题中可以看出我正在使用Phonegap/Cordova并尝试将WebRTC添加到HTML/JS/CSS应用程序中.完美适用于桌面浏览器,但不适用于移动设备.

我问这个问题的原因是因为我在手机上看过视频聊天应用程序(oovoo/skype),但浏览器中没有聊天应用程序.虽然我知道webrtc不适用于IOS,但确实适用于较新版本的Chrome.

但是,如果我将我的应用程序包装在Cordova/Phonegap webview中并将其作为应用程序分发,是否可以运行WebRTC?因为如果我可以使用PhoneGap访问相机或accelorometer等本机组件,为什么我不能使用HTML/JS/CSS应用程序进行视频聊天?

有没人试过这个?

TIA.

javascript node.js webrtc cordova

18
推荐指数
1
解决办法
8135
查看次数

如何在Neo4j中持续递增,而Cypher太慢?

我目前正在使用Neo4j 2.0+和cypher创建和保存会话。

我的项目有时需要每秒对标记为'ChildSession'的节点进行多次写入,并且我注意到当我在cypher中“递增” ChildSession_ID时,我经常会有ChildSession_ID的跳过数字或相同数字。

不知道neo4j / cypher是否太慢以满足我的要求,但是我怀疑这是因为内部Neo4j Node ID正常增加了。

The cypher command i'm using, to increment ChildSession is:

 match (p:ChildSession) with count(p) as Total 
 Create (b:ChildSession{ChildSession_ID:Total + 1 })
Run Code Online (Sandbox Code Playgroud)

人们希望ChildSession_ID会增加,但是当我在neo4j浏览器中检查节点时,我得到以下结果:

match (u:ChildSession) return u,ID(u)

Results:
ChildSession_ID 1
44997
ChildSession_ID 1
44998
ChildSession_ID 1
44999
ChildSession_ID 4
45000
ChildSession_ID 5
45001
ChildSession_ID 6
45002
ChildSession_ID 6
45003
ChildSession_ID 8
45004
ChildSession_ID 8
45005
Run Code Online (Sandbox Code Playgroud)

我一直无法使neo4j准确增加。我尝试使用redis及其递增的hincrby命令,然后将此变量放入密码查询的ChildSession_ID属性。此方法有效,但我宁愿使用cypher代替。

可以使参数仅使用redis来进行快速写入,但是我使用会话级别的层次结构,并且需要对neo4j提供的查询。

谢谢。

neo4j cypher

3
推荐指数
1
解决办法
2876
查看次数

Neo4j,匹配关系WHERE AND

您好我想尝试使用'WHERE AND'来匹配neo4j关系

我的示例relationiship是:'用户访问国家'

我这样创造它......

MATCH (c:Country{Name:Country}) MERGE (u:User{Email:Email,UserID: UserID}) MERGE (u)-[r:Visits]->(c)
//Countries are previously created and Users may or may not exist
Run Code Online (Sandbox Code Playgroud)

然后我查询(This Works):

MATCH (u:User)-[r:Visits]->(c:Country) where c.Name='France' or c.Name='Spain' return u
Run Code Online (Sandbox Code Playgroud)

结果:向我显示访问过西班牙或法国的所有用户,即使他们只访问过两个国家/地区之一.

但我想要做的是完全相同的查询,但使用'AND'代替'OR'.我可以让用户访问"法国"和"西班牙".

MATCH (u:User)-[r:Visits]->(c:Country) where c.Name='France' AND c.Name='Spain' return u
Run Code Online (Sandbox Code Playgroud)

结果:找到0个节点和关系..

我能做什么?

neo4j cypher

3
推荐指数
1
解决办法
7551
查看次数

如何在Backbone和Express中保护Restful路由?

如何在我的应用程序中保护我的快速"GET"路由,以便电子邮件和用户数据不会暴露给未经授权的客户端.我想知道,我应该像密码那样散列所有字段吗?

我的GET"/ users"路由发送这样的JSON ..

 {
 "name": "keven",
 "email": "keveng@gmail.com",
 "user": "keven",
 "password": "EEOnGFritH1631671dc8da7431399f824b3925a49e",
 "country": "America",
 "date": "April 20th 2013, 10:34:22 pm",
 "_id": "5173502e5g52676c1b000001"
  }
Run Code Online (Sandbox Code Playgroud)

在我的主干和节点/快递应用程序中,我在我的主干集合中有一个URL,就像这样..

Users = Backbone.Collection.extend({
model: User,
url: '/users',
});
Run Code Online (Sandbox Code Playgroud)

快递路线是这样的:

app.get('/users', function(req, res){
User.find({}, function (err, accounts) {
res.send(accounts);
});
});
Run Code Online (Sandbox Code Playgroud)

谢谢.

rest node.js express backbone.js

1
推荐指数
1
解决办法
991
查看次数

标签 统计

cypher ×2

neo4j ×2

node.js ×2

webrtc ×2

backbone.js ×1

cordova ×1

express ×1

javascript ×1

rest ×1

websocket ×1