小编Yur*_*kii的帖子

25
推荐指数
4
解决办法
3万
查看次数

使用哪种群发消息技术?

我觉得有点困惑 - 大约24小时我一直在想我的项目中使用哪种群组广播技术.

基本上,我需要的是:

  • 创建组(通过一些后端进程)
  • 任何客户端广播消息(1:N,N:N)
  • (可能)直接消息(1:1)
  • (重要)使用我自己的后端验证/授权客户端(例如,通过某种HTTP API)
  • 能够通过后端进程(或服务器插件)踢特定客户端

这是我将要拥有的:

  1. Ruby或Haxe中与后端相关的进程
  2. JS + Haxe(Flash9)的前端 - 在浏览器中,通过80/443进行理想的通信,但不一定如此.

因此,必须在Haxe for Flash中轻松访问此技术,最好是Ruby.

我一直在考虑:RabbitMQ(或OpenAMQ),RabbitMQ + STOMP,ejabberd,ejabberd + BOSH,juggernaut(需要为它编写一个Haxe lib).

有什么想法/建议吗?

ruby xmpp haxe stomp amqp

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

Flash:带参考表的AMF3?

AMF3规范定义了所谓的"参考表"的使用(参见本规范的第2.2节).

我在我在Erlang中开发的AMF3编码器/解码器中实现了这种行为,但对Flash API不是很有经验,我很难找到在将对象序列化为AMF3时如何轻松强制Flash使用这些引用表; 例如,如果我使用ByteArray,它似乎只是重复完整的对象编码

 var ba:ByteArray = new ByteArray();
 ba.writeObject("some string1");
 ba.writeObject("some string1");
 # =>
 # <<6,25,115,111,109,101,32,115,116,114,105,110,103,49,
 #   6,25,115,111,109,101,32,115,116,114,105,110,103,49>>
Run Code Online (Sandbox Code Playgroud)

(这显然是重复).

但是,如果这两个字符串在一个writeObject调用中,它似乎确实使用引用:

 ba.writeObject(["some string1", "some string1"]);
 # => <<9,5,1,6,25,115,111,109,101,32,115,116,114,105,110,103,49,6,0>>
Run Code Online (Sandbox Code Playgroud)

套接字似乎表现得一样.

那么,我可以在Flash代码中使用引用表吗?(假设我在Flash应用程序和服务器之间可能有非标准协议)

谢谢!

apache-flex flash erlang amf flex3

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

在 python/django 中的线程之间共享事务范围?(PostgreSQL)

有没有办法在基于 django 的代码中的两个线程之间共享相同的事务?

\n\n

问题是我有 1.1 的 TestCase(那些将单个测试包装到事务中的测试用例),旨在测试在不同线程中运行的代码[一种异步测试]。因此,这些测试创建了一些旨在供第二个线程使用的数据。显然,由于该数据是在事务范围内创建的,因此它对第二个线程不可见。但由于这基本上应该与 PgSQL 具有相同的连接(应该吗?)我希望有一种方法可以共享此事务范围,以便我的第二个线程可以访问其中添加的数据?..

\n\n

任何想法?

\n\n

数据库是PgSQL 8.3,驱动程序是postgresql_psycopg2。Django \xe2\x80\x94 主干。

\n

django postgresql transactions psycopg2 django-testing

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