바이너리를 소켓을 이용해 전송할려고 합니다.

voidns의 이미지

흐음...

현재 짜고 있는 프로그램이..

바이너리 파일 전송(RPM)을 필요로하는데..

소켓을 이용하고 라인단위로 잘라서 보내는데..

라인 단위로는 어떻게 해도 안 되네요..

그래서 바이트 단위로 자를려고 하는데..

어떻게 해야 바이트 단위로 파일을 자를 수 있을지 모르겠습니다..

ㅠㅜ

부탁드립니다..

그럼..즐건 하루 되시고 행복하시길..진심으로 기원합니다.

송지석의 이미지

open()으로 연다

while(파일 끝까지) {
    read()로 필요한 만큼 읽는다.
    send()로 읽은 만큼 보낸다
}

close()로 닫는다

그냥 이러면 되는 것 아닌가요? 다른 문제라도 있으신 것인지..

purewell의 이미지

#define MAXBUFFER 256
char buffer[MAXBUFFER]; // 보낼 바이트
int nRes;

nRes=send(sock_fd, buffer, MAXBUFFER, 0);

그냥 보내면 됩니다.

_____________________________
언제나 맑고픈 샘이가...
http://purewell.biz