2011-11-29 185 views
3

我叫dgram.setBroadcast(flag),它返回一个还没有实现错误Node.js版本v0.6.3。Node.js是否仍然支持UDP广播?

Node.js还支持UDP广播吗?

编辑:我发现some discussions表示广播在0.5.x被删除,并可能在未来回来。

仍然但在v0.6.6

实现我在Windows尝试0.6.10 7 64位系统,多播还不工作。 https://github.com/joyent/node/blob/master/test/simple/test-dgram-multicast-multi-process.js, 我终于使组播:

var dgram = require('dgram'); 
var PACKET_LEN = 64; 
var message = new Buffer(PACKET_LEN); 
var client = dgram.createSocket("udp4"); 
client.setMulticastTTL(128); 
//dgram.addMembership(multicastAddress, [multicastInterface]) 
client.addMembership('234.18.128.10', "172.18.128.64") ; 
// dgram.send(buf, offset, length, port, address, [callback]) 
client.send(message, 0, PACKET_LEN, 7000, "234.18.128.10"); 
client.close(); 

I got an "Error: addMembership EADDRNOTAVAIL". 

裁判后,在这里在我的Windows PC上工作。
节点版本= 0.6.19

var dgram = require('dgram'); 
var message = new Buffer('this is my message'); 

var client = dgram.createSocket("udp4"); 
client.bind(); 
client.setBroadcast(true) 
client.setMulticastTTL(128); 
client.send(message, 0, message.length, 5007, "224.1.1.1"); 
client.close(); 
+0

那么在讨论说,这将是回到v0.6.4或v0.6.5。版本0.6.4是由于3天,并可能再多一个星期为0.6.5。 –

回答

5

今天是你的幸运日:数据报支持的NodeJS 0.6.9被重新提出。

http://blog.nodejs.org/2012/01/27/node-v0-6-9/

+0

仍然无法在windows上运行,事件在nodejs 0.6.10中。 – holly

+0

而在windows 0.6.10版本中,我也无法成功发送多播:-(,虽然它的更新日志表示它可以。 – holly

+0

可以显示不工作的代码吗? – timoxley