将此NodeJs套接字连接转换为Python

2024-05-29 04:49:20 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试使用套接字模块将以下NodeJS代码(我对Javascript类型的语言不是很熟悉)复制到Python中:

function sendCommand(code, cb) {
        var commandBytes = [4,1,0,0,0,0, Math.floor(224 + (code/16)), code % 16];

        var client = net.connect({
            host: host,
            port: port || 49160
        });

        var l = 12;
        client.on('data', function(data) {
            clearTimeout(connectTimeoutTimer)
            // Clear timeout
            if (data.length < 24) {
                client.write(data.slice(0, l))
                l = 1;
            } else {
                client.write(new Buffer(commandBytes), function() {
                    commandBytes[1]=0;
                    client.write(new Buffer(commandBytes), function() {
                        client.destroy();
                        cb(null)
                    });
                });
            }
        });

我已经解决了基本问题,即按如下方式打开和关闭连接:

import socket

s = socket.socket()        
host = '192.168.1.157'
port = 49160

s.connect((host, port))
s.close()

…但我不确定如何复制该行:

var commandBytes = [4,1,0,0,0,0, Math.floor(224 + (code/16)), code % 16];

我意识到这是一个8位字节(代码的值来自我正在转换的代码中更深层的字典),但是我不确定将其传递到目标机器的IP地址所需的语法

有人能帮忙吗


Tags: 代码clienthostdataportvarconnectcode

热门问题