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

これは変更できないサーバーコードの一部です。私はクライアント側を書いています。私は以下を試しましたJavascript/Cで改行を送受信する

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

なし仕事。改行で停止することはありません。私が改行を '|'それから '|' websocket.sendではすべて正常に動作します。何か案は?

答えて

0

あなたは正確に現在のCHRとCHR自体の数値を印刷し、あなたのループに

printf ("chr arrived: %i %c \n", payload[i], payload[i]); 

を配置することによって、物事のJS側から到着したものをCコードに制御することができます。

あなたは改行CHRを確認した場合:

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

出力は次のようになります。私はあなたの例では、送信なんと

> ./test 
chr arrived: 10 

> 

は文字が\(92)とn(110)されているので、私はJSであなたに改行文字を指定するために次のことを試してみてください:

​​
関連する問題