<div>소켓으로 서버에서 클라이언트로 파일을 보내려고 합니다.</div> <div><br></div> <div>프로그램을 GUI없이 그냥 실행하면 send도 recv도 아무런 문제 없이 돌아갑니다.</div> <div>근데 클래스로 만들어서 GUI에서 실행하면 recv 부분 루프 부분에서 멈춰버리더라구요.</div> <div><br></div> <div>그래서 스레드를 사용하니까 GUI에서도 멈추치는 않는데 </div> <div>대신 클라이언트가 소켓이 send한 파일을 recv를 하지 못합니다.</div> <div><br></div> <div>클라이언트개 대기중일 때 대기중이라는 메시지를 출력하게 해놓았는데 </div> <div>대기중이라고 메시지는 정상적으로 출력됩니다만 받지를 못합니다.</div> <div>send를 추가로 보낼때마다 계속해서 대기중 메시지만 하고 받지를 않습니다.</div> <div><br></div> <div>좀 더 정확히 말씀드리자면 이것저것 살펴본 결과 아래 <b>recvData </b>메소드에서 </div> <div><b>if not </b>data<b>:</b></div> <div><b><span style="white-space:pre;"> </span>break</b></div> <div>부분이 작동하지 않는 것 같습니다,</div> <div>이부분은 아래 코드부분에서 좀더 자세히 말씀드리겠습니다.</div> <div><br></div> <div> <div>서버-클라이언트 연결 이후 보내고 받는 부분 코드는 이렇습니다.</div> <div>---------서버 클래스 중에서----------(GUI에서 서버 소켓 객체 생성)</div></div> <div> <div><br></div></div> <div> <div style="text-align:left;"><img src="http://thimg.todayhumor.co.kr/upfile/201712/1513081749073a9d6d57964b8e9d4014029f1a7bb6__mn78427__w312__h276__f19495__Ym201712.png" width="312" height="276" alt="11111.png" style="border:none;" filesize="19495"></div> <div style="text-align:left;"><br></div> <div style="text-align:left;"><br></div> <div style="text-align:left;">---------클라이언트 클래스 중에서----------(GUI에서 클라이언트 소켓 객체 생성)</div> <div style="text-align:left;"><br></div> <div style="text-align:left;"><img src="http://thimg.todayhumor.co.kr/upfile/201712/1513081751e0c72adc12644fa8b154f9275935a396__mn78427__w586__h338__f34946__Ym201712.png" width="586" height="338" alt="22222.png" style="border:none;" filesize="34946"></div></div> <div> <div style="font-family:'굴림체';color:#333333;font-size:9pt;"><br></div> <div style="font-family:'굴림체';color:#333333;font-size:9pt;">----------------------------------------------------</div> <div style="font-family:'굴림체';color:#333333;font-size:9pt;"><br></div> <div style="font-family:'굴림체';color:#333333;font-size:9pt;">GUI에서 버튼 클릭 시 recvData 메소드를 불러옵니다.</div> <div style="font-family:'굴림체';color:#333333;font-size:9pt;"><br></div> <div>-----------버튼 클릭 메소드 중에서--------------</div> <div><br></div> <div> <div><span style="font-size:9pt;">self.C_socket.file_open(<font color="#00b050">'./text.txt'</font>)</span></div> <div>t = threading.Thread(target = self.C_socket.<b>recvData</b>)<span style="white-space:pre;"> </span></div> <div>t.start()<span style="white-space:pre;"> </span></div> <div><br></div> <div>-----------------------------------------------------------------------------</div> <div>혹시 제가 스레드나 다른 부분에서 잘못한 부분이 있을까요??</div> <div>조언좀 부탁드립니다.</div></div> <div><br></div> <div><br></div></div>
댓글 분란 또는 분쟁 때문에 전체 댓글이 블라인드 처리되었습니다.