小编Lyn*_*Lab的帖子

setattr(object,name,value)vs object .__ setattr __(name,value)

我刚刚阅读帖子如何在python中通过__dict__分配新的类属性?@bruno desthuilliers有一条评论说:

不应该直接调用魔术方法 - 它们在这里作为运算符或泛型函数的实现.在这种情况下,惯用的解决方案是使用setattr(obj, name, value).

setattr的情况似乎超出了他自己的评论的范围:不是运算符,也不是通用函数的实现.

有人可以解释这个评论吗?为什么我更喜欢一个呢?

在哪种情况下最好使用obj.__setattr__(name, value)

python coding-style

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

使用node.js监听udp数据报

我正在开发一个项目,其中 C 应用程序从端口 44044 发送 udp 数据报,我想使用 node.js v0.10.20 将这些数据包简单地回显到控制台。

我用经典的例子来连接:

var dgram = require('dgram');
var port = 44044;

socket = dgram.createSocket('udp4');

socket.on('message', function (msg, info){
    console.log(msg.toString());
 });

socket.on('listening', function(){
    var address = socket.address();
    console.log("listening on :" = address.address + ":" + address.port);
});

socket.bind(port);
Run Code Online (Sandbox Code Playgroud)

然而,当我运行该示例时,我的 C 应用程序抱怨它用于广播的端口 44044 已在使用中。相反,如果我先启动 C 应用程序,node.js 应用程序会立即返回错误“错误:绑定 EADDRINUSE”。

现在我明白这意味着我有两台服务器试图在同一端口上提供服务。但我不明白的是如何获得一个节点线程来监听端口 44044 上的 udp 广播?阅读node.js文档并没有帮助我解决这个问题。

javascript sockets udp node.js

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

标签 统计

coding-style ×1

javascript ×1

node.js ×1

python ×1

sockets ×1

udp ×1