Faye和nodejs:如何运行Faye服务器端客户端?

时间:2011-05-19 07:28:42

标签: node.js

我正在尝试开发一个Faye服务器端客户端,以便根据需要自动运行。在Faye的官方网站上,我只找到有关服务器端客户端的文档,没有关于如何运行它的信息。 请告诉我怎么做 感谢

3 个答案:

答案 0 :(得分:2)

通过Google解决了这个问题。您应该只使用以下代码运行客户端:

var faye   = require('faye'),
    client = new faye.Client('http://example.com/faye');

client.subscribe('/some/channel', function(message) {
    // process message
});

如果您仍然遇到问题,请访问http://groups.google.com/group/faye-users

上的邮件列表

答案 1 :(得分:2)

文档中有一个关键缺失部分。您似乎需要致电client.connect()才能接收活动。

这对我有用:

var faye = require('faye');

var client = new faye.Client('http://localhost:8000/faye');

//This was missing from the documentation
client.connect();

var subscription = client.subscribe('/foo', function(message){
    console.log("Event Received");
    console.log(message);
})

//This is optional
subscription.then(function() {
    console.log('Subscription is now active!');
});

var publication = client.publish('/foo', {text: "Hello World!"});

publication.then(function() {
    console.log('Message received by server!');
}, function(error) {
    console.log('There was a problem: ' + error.message);
});

答案 2 :(得分:0)

创建.rb文件并填写以下代码

require 'rubygems'
require 'faye'
cliv=Faye::RackAdapter.new(
  :mount => '/cliv', 
  :timeout => 25
)
cliv.listen(3000)

转到控制台并输入

ruby your_file.rb 

完成后。使用html创建一个js如下:

<script type="text/javascript" src="http://localhost:3000/faye.js"></script>
<script src='https://ajax.googleapis.com/ajax/libs/jquery/1.6.3/jquery.min.js'></script>
<script>
$("document").ready(function(){
  faye = new Faye.Client('http://localhost:3000/faye');
  faye.connect();
  subscribeObj = faye.subscribe("/hi", function(message) {
    $("#response").append(message.text);
    $("#content").val("");
  });

  $("#say").click(function(){
    content=$("#content").val();
    faye.publish("/hi", {text: content});
  });
});
</script>
<div id='response'></div>
<br/>
<input type='text' id='content' />
<div style='cursor:pointer;' id='say'> Say Something </div>

我想你准备好了。 :)