char newline = 'n';
for ( i = 5 ; i < payload_length && payload[i] != newline ; i++ )
{
username[i-5] = payload[i];
username[i-4] = ' ';
}
这是我无法修改的某些服务器代码的一部分。我正在编写客户端。我尝试了以下方法
websocket.send("SEND "+name+"n"+message);
websocket.send("SEND "+name+"\n"+message);
websocket.send("SEND "+name+"rn"+message);
没有一个工作。它不会停留在换行符上。如果我将换行符设置为"|",然后在websocket.send中输入"|",那么一切正常。有什么想法吗?
您可以在 c 代码中控制从事物的 JS 端到达的确切内容
,方法是放置printf ("chr arrived: %i %c n", payload[i], payload[i]);
在您的循环中,打印当前 CHR 和 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);