Actionscript xmlsocket不读取nodejs网络模块服务器写入的数据。但服务器正确读取数据。任何解决方案

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Actionscript xmlsocket不读取nodejs网络模块服务器写入的数据。但服务器正确读取数据。任何解决方案相关的知识,希望对你有一定的参考价值。

节点js网络模块服务器代码:

var net = require('net');
var server = net.createServer(function (connection) {
    console.log('client connected');

connection.on('data', function (data) {
    console.log('data from flash = ' + data);

    var jsonData = {};
    jsonData.message = "joined";

    var d = JSON.stringify(jsonData);

    connection.write(d);

});

connection.on('end', function () {
    console.log('client disconnected');
});

// connection.pipe(connection);
});
server.listen(3055, function () {
    console.log('server is listening');
});

动作脚本代码

this.login_socket.connect(this.server_ip,3055);
         this.login_socket.addEventListener(Event.CONNECT,this.login_socket_onConnection);
         this.login_socket.addEventListener(DataEvent.DATA,this.login_onData);
         this.login_socket.addEventListener(IOErrorEvent.IO_ERROR,this.login_socket_onIOErrorEvent);
         this.login_socket.addEventListener(SecurityErrorEvent.SECURITY_ERROR,this.login_socket_SecurityErrorEvent);
         this.login_socket.addEventListener(Event.CLOSE,this.login_socket_closeErrorEvent);

任何人都可以告诉我如何使用节点js网络模块的xml套接字?我已经尝试了一切,但这根本不起作用。我想为服务器的Flash游戏创建一个套接字连接。我使用laravel作为后端。如果有人知道如何用php创建它告诉我。谢谢。

答案
var net = require('net');

var server = net.createServer(function (connection) {

    console.log('client connected');

    connection.setEncoding("utf8");

    // on receive data from client
    connection.on('data', function (data) {

        console.log('data from flash = ' + data);

        var d = JSON.stringify({
            message: "joined"
        }) + "";

        connection.write(d);
    });

    // on connection end
    connection.on('end', function () {
        console.log('client disconnected');
    });

    // on error
    connection.on("error", function (exception) {
        console.log('an error occurred: ' + exception);
    });
});

server.listen(3055, function () {
    console.log('server is listening');
});

我将nodejs服务器代码更改为上面的代码,现在工作正常。

以上是关于Actionscript xmlsocket不读取nodejs网络模块服务器写入的数据。但服务器正确读取数据。任何解决方案的主要内容,如果未能解决你的问题,请参考以下文章

ActionScript 3 XMLSocket 的策略文件问题

PHP 读取原始发布数据,对于从Flash XmlSocket中获取XML非常有用。

Android 中的 ActionScript 套接字

XMLSocket 可以接收数据但不能发送

ActionScript 3.0 套接字无法重新连接

XMLSocket 可以在一帧中多次发送吗?