0

ソケット接続を介して互いに通信するサーバーとクライアント プログラムがあります。telnet / (または Mac の端末?) を介して監視するデータの文字列を送信します。

MAC をサーバーとして使用し、PC をクライアントとして使用すると、正常に動作します。MACをクライアント、PCをサーバーにすると動かない…(!?)

"\n\r"2 つの異なる OS があるため、interperets (EOL?) が異なる可能性がありますか?

これを簡単に解決する方法について、手がかり/ヒント/回避策を持っている人はいますか?

4

2 に答える 2

1

Windows は実際に\r\nEOL として使用します。ただし、異なる OS で異なる動作をするべきではありません。Mac は を使用する\rため を無視し\n、*nix ではその逆です。Windows は、 とが順序で隣り合っていない限り、両方\rを無視します。\n\r\n

EOL を使用してプログラミングする場合、ほとんどの言語は\n必要な場合にのみフォーマットを使用して自動変換します。

于 2012-10-26T19:13:56.203 に答える
0

正しく思い出せば、Macは単一の行末文字としてCR( "\ r")を使用します。Windowsは行末に「\r\ n」(CR-LF)を使用するため、コードでそれを補正する必要がある場合があります。

于 2012-10-26T19:16:36.247 に答える