0

ノードjsでTCPサーバーを使用してクライアントにデータを送信すると問題が発生します。これは私のコードです

var net = require('net');

var server = net.createServer(function (socket) {
    // We have a connection - a socket object is assigned to the connection automatically
    console.log('CONNECTED: ' + socket.remoteAddress +':'+ socket.remotePort);

    socket.on('data', function(data) {    
        var datas = JSON.parse(data);
        console.log('DATA ' + socket.remoteAddress + ': ' + data);    
        //socket.write("kenapa ya / HTTP/1.0\r\n\r\n");
    }).on('connect', function() {
        // Manually write an HTTP request.
        var data = {
        "name" : "test",
        "args" : {
            "data":[{
                "a":1
            }]
            }
        };
        socket.setEncoding("utf8");
        socket.write(JSON.stringify(data) + "\r\n\r\n");

    }).on('end', function() {
        console.log('DONE');
    });


});

server.listen(1337, '127.0.0.1');
console.log("server is listen on 1337");

socket.write(JSON.stringify(data));実際には、そのコードはクライアントソケットで機能しますが、サーバーからの応答が長すぎずにしようとする\r\n\r\nと、サーバーからメッセージを取得できません。

誰が何が起こるか知っていますか?このコードの効果は何\r\n\r\nですか?私はphpを使用してソケットクライアントを作成しています。

4

1 に答える 1

2

CRNL の 2 回は、HTTP ヘッダーと本文の間の区切り文字です。HTTP RFCを参照してください。

于 2012-04-16T08:59:54.827 に答える