Qt で telnet サーバー アプリを構築しています。Linux telnet クライアントから接続すると、出力が見栄えがよくなります。たとえば、コンソールに "A" << endl << "B" << endl << "C" を送信すると、次のようになります。
A
B
C
Windows telnet クライアントから接続すると、
A
B
C
明らかに Qt の endl は '\n' のみを送信しています。これに対する簡単な解決策はありますか?endl を "\r\n" に置き換えると、Linux クライアントが台無しになりますか? フラッシュも強制する必要がありますか?
これは、telnet クライアントに送信するために使用している実際のコードです。
QString block;
QTextStream out(&block, QIODevice::WriteOnly);
out << "Valid commands are: " << endl
<< " help Print this list" << endl
<< " version Print this version" << endl
<< " clientcount Show the number of active telnet clients" << endl
<< " logrotate Rotate the event log file" << endl
<< " shutdown Initiate shutdown secast" << endl
<< " quit Disconnect your telnet session" << endl
<< " stop Shutdown secast" << endl;
tcpSocketPtr->write(block.toUtf8());