파이썬 소켓통신시 여러개 파일 보낼때
글쓴이: zhxk123 / 작성시간: 일, 2015/11/08 - 1:40오후
파이썬으로 소켓통신 서버와 클라이언트를 만들고 있는데
파일을 주고 받는 부분에서
open = (name,'wb')을 이용한 파일1개의 송수신은 작동하는데
폴더내의 여러개의파일 ex) C\aaa\bbb 내의 name1,name2....10까지의 파일을
순서대로 보낼려고 하는데요.for문을 사용하여 이름을 읽어와서
보내는건 작동하는것같은데
받는쪽에서 어떤식으로 받아야할지 모르겠습니다.
받는쪽에서도 for문을 이용하여 받아봤는데 받는쪽 파일은 ex)) test1,~10까지 생성은되는데
name1~10의 데이터가 test1에 다들어가 있고 2~10은 아무런 내용이 없더라구요.
조언좀 부탁드립니다.
Forums:
파이썬 채팅
파이썬 채팅'으로 찾아보시면. 예제소스가 있네요.
----------------------------------------------------------------------------
젊음'은 모든것을 가능하게 만든다.
매일 1억명이 사용하는 프로그램을 함께 만들어보고 싶습니다.
정규 근로 시간을 지키는. 야근 없는 회사와 거래합니다.
각 분야별. 좋은 책'이나 사이트' 블로그' 링크 소개 받습니다. shintx@naver.com
App수준의 통신 프로토콜을 정의 하셔야
App수준의 통신 프로토콜을 정의 하셔야 합니다.
아마도 송신 과정이
1. 파일을 읽는다. 파일이 없으면 끝낸다.
2. 보낸다.
3. EOF를 만나면 다음 파일을 읽는다.
4. '1'로 돌아간다.
여기서 수신측에서 파일이 끝났다는 정보를 알 수 있을까요? 없습니다.
따라서 간단한 프로토콜이 필요하겠죠. 송신할 때 파일의 크기도 같이 보내서
수신측에서 파일을 "끊어서" 쓸 수 있도록 만들어야 합니다.
예를 들어 파일을 전송할때 단순히 파일을 읽고 송신하는게 아니라 간단한 예를 들면
[전송할 파일의 개수 송신]
[파일의 정보(용량, 이름 등의) 송신] - > 파일전송 -> [파일 전송끝 알림]
[파일의 정보(용량, 이름 등의) 송신] - > 파일전송 -> [파일 전송끝 알림]
[파일의 정보(용량, 이름 등의) 송신] - > 파일전송 -> [파일 전송끝 알림]
...
[파일의 정보(용량, 이름 등의)] - > 파일전송 -> [파일 전송끝 알림]
[통신 종료를 나타내는 메세지 송신]
이러한 정보를 사전에 서버-클라이언트간에 정의해서 통신하셔야 합니다.
파일의 전송끝 알림은 예를 들면 어떻게 데이터를
파일의 전송끝 알림은 예를 들면 어떻게 데이터를 보내줘야할까요..?
댓글 달기