0
TCP/IP 서버에 연결하는 C++에서 boost :: asio를 사용하여 클라이언트 프로그램을 만들었습니다. 내가 명령이 말을 보낼 때 "llist"그것은 새로운 라인 문자로TCP IP 통신
? "llist"
l1 32x32 Video "Video L1"
l2 512x512 Video "Audio L2"
각 문장의 끝을 반환하고 전송의 끝에서 그것은 여분의 새 라인 문자를해야합니다. 그래서 내 청취 기능은 소켓
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;
무엇이 문제 일 수 있나요?
나는 당신의 논리를 추측하려고 노력할 수 있지만 잠재적으로 부정확 한 가정을해야 할 것입니다. 한 번에 소켓에서 2자를 읽고 새 라인을 확인합니다. 조건문을 사용하여 2 문자를 지우므로 응답 색인 0과 1을 모두 삽입해야합니다. 처음 삽입하는 것 같습니다. 이것은 당신이 원하는 행동입니까? –