在网上看到 许多关于 EventMachine 的使用。 我想做一个网页聊天的功能,想使用 基于长轮询的服务推 来做。 是否能用 EventMachine 来做。应该如何实现,大概是怎样的一个思路。 还有 我测试了在 action 中添加 EventMachine 然后 startServer 然后整个应用就阻塞在那里了。 我应该怎样使用 EventMachine 才能使应用不会出现这种状况。 真心求助:望有这方面经验的前辈们指导一下,小弟先谢谢了。
这有个例子,不知道你试过没 https://github.com/eventmachine/eventmachine/wiki/Code-Snippets 做聊天为什么不用 socket.io, websocket ?
这有个例子,不知道你试过没 https://github.com/eventmachine/eventmachine/tree/master/examples/guides/getting_started 做聊天为什么要在 rails 里用 ?
在 rails action 里加 em 的 startserver 等于加入一个死循环。需要你理解 eventmachine 的编程模式,你就明白了。
一般要配合 thin 来使用,那么所有 rails stack 的调用都是一个 em 事件的 callback。主要是 throw(:async)
和 env['async_callback']
的使用。不过一般很少有人会在 rails 里面这么用吧?上次还是 rails 3 测试 async_rails 的时候这么尝试过,现在不知道 rails 4 会不会要其它的 hack。
聊天你可以 thin+rack,或者 faye。 要不轮询也可以啊,hoho
#15 楼 @prothro em 就是单线程,你可以用 thin 启多个服务进程。 http://rubygems.org/gems/thin/versions/2.0.0.pre thin 2.0 还支持 unix fork,省内存。