【问题标题】:what is the character of \r\n\r\n in nodejs TCP/IPnodejs TCP/IP中\r\n\r\n的字符是什么
【发布时间】:2012-04-27 14:32:36
【问题描述】:

当我在节点 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 创建套接字客户端。

【问题讨论】:

  • 这对我来说毫无意义。您如何解析另一端的消息可能存在问题。

标签: php javascript node.js tcp tcpclient


【解决方案1】:

CRNL 两次是 HTTP 标头和正文之间的分隔符。请参阅 HTTP RFC

【讨论】:

  • 好的,但都是 0x0d 0x0a。
猜你喜欢
  • 2013-12-07
  • 2013-03-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-04-18
  • 1970-01-01
  • 2012-09-05
  • 1970-01-01
相关资源
最近更新 更多