안녕하세요
이곳에서 자주 도움을 받고 있습니다.^.^;
serversocket(srv)과 clientsocket(cli)으로 파일을 송수신하는 예제프로그램을
한번 만들어 보고 있습니다.
로직은
cli에서 srv에 연결한후 먼저 전체파일크기를 보냅니다.
srv에서 'ok'답변을 보내면
cli의 readevent에서 다시 보낼 파일명을 보내고
srv에서 파일명으로 파일을 만들고 'ok'답변을 보냅니다.
그러면 cli의 readevent에서 파일을 읽어서 1024byte를 보내고
srv readevent에서 읽은 자료를 파일에 저장하고 나서 읽은 크기만큼
답변을 보냅니다.
이렇게 반복을 해서 파일크기만큼 다 보내면 srv쪽에서는 수신받은 전체
크기를 cli쪽에 보내고 cli 쪽에서는 보낸 전체크기와 srv쪽에서
보낸 전체크기를 다시 비교하여 같은지를 체크합니다.
1:1로 테스트 할때는 위 로직이 아무 이상없이 잘 되는데요
2:1로 테스트 하니까 잘 안되네요
srv의 read이벤트가 두개의 cli중 어느쪽겉지 구별할수 없어서 그러는것 같기도
하고....
전에 unix에서 c로 socket프로그램을 짤때는
서버 쪽에서 fork를 해서 동시에 여러 연결이 들어올 경우 처리를 했었는데
델파이에서는 이와 비슷한 기능이 있긴 있을 것 같은데
찾기가 좀 힘드네요
혹시 아시는 분이 계시면 한수 지도를 부탁드립니다.
예제로 짜는 거니까 급하게 알려주시진 않아도 됩니다.
그럼 수고하시고요....