TCP/IP サーバーに接続する C++ で boost::asio を使用してクライアント プログラムを作成しました。「llist」というコマンドを送信すると、返されます
? "llist"
l1 32x32 Video "Video L1"
l2 512x512 Video "Audio L2"
各センテンスは改行文字で終わり、送信の最後には余分な改行文字があります。したがって、リスニング関数はソケットから2文字を読み取ります
len=_socket->read_some(boost::asio::buffer(reply,sizeof(reply)),error);// char reply[2];
問題は、動作しない場合に「\n」を使用してチェックするときです。
if(reply[0]!='\n')
if(reply[1]!='\n')
str.insert(i,1,reply[0]); //std::string str;
何が問題になる可能性がありますか?