본문 바로가기
무모한 도전-주식 인공지능 만들기

QProcess에서 communication을 하기 위한 도전 part3

by 인터넷떠돌이 2019. 5. 22.
반응형

안녕하세요?

 

이번 포스팅에서는 아직도 포기하지 않은 QProcess에서 communication을 하기 위한 시도를 계속하고 있는데, 어쩌다 보니 Qtcpsocket이라는 것으로 할 수 있어 보여서 한번 도전을 해 보았습니다. 그런데 결과부터 미리 말씀드리자면, 무언가 길을 잘못 들어간 것 같다고 할 수 있어 보입니다.

 

먼저 위 스크린샷을 보시면 알 수 있듯이 제가 어디서 부터 잘못된 것이 있어서 이러는 것인지 모르겠습니다만, 일단 이 작업을 하기 위해서 먼저 위 스크린샷에서 볼 수 있듯이 코드마다 표식을 찍어 놓도록 합니다.

 

그리고 계속해서 markerA에서 머무르고 있다는 것을 알 수 있었습니다. 여기서 부터 무언가가 잘못된 것인데 어디가 잘못된 것인지 체크에 들어갑니다.

 

알고봤더니 if문의 조건에 not이 빠져야 하는데, 그러지 못해서 일어난 에러였습니다. 그래서 이번 에는 이 에러를 수정했으니, 이제 다음 표식까지 나올 수 있으리라 생각을 합니다.

 

이렇게 해서 위 스크린샷과 같이 다음 표식으로 넘어갈 수는 있었습니다만, 문제는 여전히 연결이 거부 되었다는 메세지만 뜨는 것을 확인할 수 있었습니다.

 

그래서 이번에는 host라고 할 수 있는 server의 역할을 하는 py파일에서 어드레스와 포트의 번호를 한변 표시하게 하도록 합니다.

 

 

일단 이게 원래는 2진수로 표시된 것이라서 이렇게 보이는 것인지, 아니면 원래 이런 값인지는 모르겠습니다만, 일단 주소는 2에 포트는 4라는 것을 알 수 있었습니다.

 

다음으로는 클라이언트 역할을 하는 py파일로 가서, 여기서의 주소와 포트가 어떻게 나오는 지에 대해서 한번 표식을 남겨서 알아보고자 합니다.

 

놀랍게도 여기서도 표시가 되는 주소와 포트는 같다고 할 수 있습니다. 이렇게 해서 보면, 포트와 주소가 달라서 통신이 연결이 안되는 것은 아니라는 생각이 듭니다.

 

그래서 다음 작업으로 혹시 V3와 같은 안티 바이러스 프로그램-보안 프로그램이 있어서 방해받는 것이라고 생각, 일단 보안 프로그램을 모두 끄도록 합니다. 이 작업을 하기 전에 미리미리 제 컴퓨터는 offline 상태로 만들어 주었습니다.

 

그리고 나서 방화벽도 내리도록 해서, 통신에 방해가 되는 요소는 모두 제거를 하도록 한 다음에, 위와 같은 작업을 하도록 설정을 해서 움직여 봅니다.

 

그런데 이와같은 시도를 하였음에도, 전혀 변화가 나오지 않은 것을 확인할 수 있었습니다. 아무래도 보안 프로그램이 문제가 된 것은 아닌 것으로 보입니다.

 

그래서 이번에는 Qtcpsocket명령에 write()라는 함수를 빼먹어서 이런 일이 생긴게 아닌가 하는 생각이 들어서, 이번에는 이런 식으로 작업을 하도록 해 보았습니다.

 

그리고 혹시나 싶어서 먼저 서버역할을 하는 py파일을 미리미리 실행을 시켜서, 작동이 되어 있도록 만들어 주었습니다.

 

그 다음에 한번 클라이언트에 해당하는 프로그램을 작동시켜서 연결을 시켜 보았습니다만, 딱 부러지게 좋은 결과는 전혀 나오지 않았습니다.

 

다만 새롭다면 새롭게 떨어진 호스트는 연결을 닫았다는 메세지가 나오는 것을 볼 수 있었습니다. 이로 미루어 보아서 아무래도 제가 전혀 관계가 없을 수도 있는 곳으로 가서 조금은 잘못된 작업으로 시간을 낭비한 것이 아닌가 하는 생각이 들었습니다. 아무래도 이 QtcpSocket이 아닌 다른 방법을 시도해 보아야 겠다는 생각이 듭니다.

반응형