使用Javascript / C发送/接收换行符

时间:2012-05-08 18:48:10

标签: javascript c websocket

char newline = '\n'; 
for ( i = 5 ; i < payload_length && payload[i] != newline ; i++ )
{
    username[i-5] = payload[i];
    username[i-4] = '\0';
}

这是我无法修改的某些服务器代码的一部分。我在写客户端。我试过以下

websocket.send("SEND "+name+"\n"+message);
websocket.send("SEND "+name+"\\n"+message);
websocket.send("SEND "+name+"\r\n"+message);

没有工作。它并不止于换行符。如果我将换行设置为'|'然后放入'|'在websocket.send然后一切正常。有什么想法吗?

1 个答案:

答案 0 :(得分:0)

你可以通过放置

来控制你的c代码从JS方面到底是什么
printf ("chr arrived: %i %c \n", payload[i], payload[i]);
循环中的

,它打印当前chr和chr本身的数值。

如果检查换行符:

char newline = '\n';
printf ("chr arrived: %i %c \n", newline, newline);

输出将是:

> ./test
chr arrived: 10

>

我想你在你的例子中发送的是字符\(92)和n(110),所以我想你会尝试以下方法来指定JS中的换行符:

var newline = String.fromCharCode(10);
websocket.send("SEND "+name+newline+message);