나는 간단한 스레드 네트워크 서버를 만들었습니다. main.cpp는 app.exec()를 유휴 상태로 호출하고 연결이 설정되면 스레드는 예상대로 작동하지 않습니다. 스레드의 run() 함수에서 QThread 내부에서 신호/유휴 신호를 처리하는 방법은 무엇입니까?
, 나는 readCommand라는 슬롯 readyRead에서 신호를 연결 시설 :는 "비공개로connect(tcpSocketPtr, SIGNAL(readyRead()), this, SLOT(readCommand()));
내가 클래스의 .H 파일에 readCommand을 정의, 슬롯 "- 클래스 내에서만 호출되기 때문에. 희망이 맞아.
위 연결 후 run() 함수가 반환됩니다. app.exec() 호출 또는 그 밖의 것이 없습니다. 그것이 문제일까요? 스레드가 신호를 수신 대기하도록 일부 함수를 호출해야합니까?
포트로 텍스트를 보내면 readCommand 함수가 실행되지 않습니다 ... 그리고 디버깅하는 방법을 모르겠습니다 .suggestions?
스레드의 이벤트 루프를 시작하려면'run()'본문에서'QThread :: exec()'를 호출해야합니다. 그렇지 않으면 스레드는'run()'의 끝에 도달하면 종료합니다. –
감사합니다! – TSG
@Michelle : 답변을 선택하지 않은 이유는 무엇입니까? 답장에서 누락 된 것은 무엇입니까? – lpapp