1

ソケットプログラミングを介してアスタリスクに接続したいのですが、どうすればよいですか? これらを使用できるモジュールがたくさんあることは知っていますが、テーマを使用したくありません。私はこのページを読み、ソケットプログラミングを介してNode.jsでアスタリスクに接続するにはどうすればよいですか? このコードは TCP サンプルです:

var net = require('net');

var HOST = '127.0.0.1';
var PORT = 6969;

// Create a server instance, and chain the listen function to it
// The function passed to net.createServer() becomes the event handler for the 'connection' event
// The sock object the callback function receives UNIQUE for each connection
net.createServer(function(sock) {

    // We have a connection - a socket object is assigned to the connection automatically
    console.log('CONNECTED: ' + sock.remoteAddress +':'+ sock.remotePort);

    // Add a 'data' event handler to this instance of socket
    sock.on('data', function(data) {

        console.log('DATA ' + sock.remoteAddress + ': ' + data);
        // Write the data back to the socket, the client will receive it as data from the server
        sock.write('You said "' + data + '"');

    });

    // Add a 'close' event handler to this instance of socket
    sock.on('close', function(data) {
        console.log('CLOSED: ' + sock.remoteAddress +' '+ sock.remotePort);
    });

}).listen(PORT, HOST);

console.log('Server listening on ' + HOST +':'+ PORT);
4

1 に答える 1

2

この記事を使用してください: ノードでソケット プログラミングを使用できます。このサンプル コードは、TCP 経由で接続するためのものです。

var net = require('net');
var port = 5038;
var host = "IP";
var username = "User";
var password = "Pass";
var CRLF = "\r\n";
var END = "\r\n\r\n";
var client = new net.Socket();

client.connect(port, host, function () {

    console.log('CONNECTED TO: ' + host + ':' + port);
    var obj = { Action: 'Login', Username: username, Secret: password};
    obj .ActionID =1;
    var socketData = generateSocketData(obj);
    console.log('DATA: ' + socketData);
    client.write(socketData, 'ascii');

});
generateSocketData = function(obj) {
    var str = '';
    for (var i in obj) {
       console.log('obj[i]:'+obj[i]);
        str += (i + ': ' + obj[i] + CRLF);
    }
    return str + CRLF;
};
client.on('data', function (data) {
    console.log('New Event Recived');
    console.log('******************************');
    console.log('DATA: ' + data);


});

client.on('close', function () {
    console.log('Connection closed');
});
于 2013-09-22T18:31:57.363 に答える