본문 바로가기

Image transfer program through socket server 3

by 머니해커_개발자 2017. 1. 23.

client.py

server.py


바뀐점


1. client 측에서 메뉴를 고를 수 있게 바꼈음

2. server에서 프로토콜로 ai0~ai4까지 사용함 ai0이 시작이고 ai4는 파일전송 종료를 알리는 프로토콜 a는 첫 프로토콜을 의미하고 i는 이미지 전송, 마지막은 시퀀스를 의미

3. try except문으로 서버와 접속이 안 되면 자동으로 꺼짐

4. 이전까지는 파일 하나를 전송하면 프로그램이 종료되었는데, 이번에 while문을 2번 돌려서 알고리즘을 다시 만들었음. 파일 전송이 종료되어도 새로운 명령이 실행되고 서버도 그에 따라 새로운 응답을 기다림.

5. 사실 새로운 명령을 받아들일 수 있는 구조로 바꾸다 보니 클라이언트에서 덤프가 생겼는데, 이를 got_size >= int(data_size) 조건을 통해서 해결하려 했으나, 파일 전송만 종료되고 덤프가 그대로 남아서 다음 프로토콜 수신에 영향을 끼쳤음. 그래서 그냥 길이가 긴 프로토콜은 continue를 통해서 넘겼고, 프토로콜이 덤프랑 같이 나오는 경우가 있어서 그냥 data 속에 프로토콜이 있으면 명령이 실행되도록 바꿈. 이를 해결할 수 있는 방법이 있으면 다시 짚고 넘어가겠음


--

후기

오늘은 딱히 새로운 메서드도 없고 알고리즘만 새로 짜고 코드를 함수에 배치해서 정리하였고 반복문도 좀 정리함. 전체적으로 코드를 정리한 느낌이 있고

덤프가 자꾸 남아서 고생을 많이 했음. 재미있었음.

댓글

최신글 전체

이미지
제목
글쓴이
등록일