밑에 방법도 안됩니다. 한 라인으로 끊어서 하려고 하는데도 안되는 군요! 다른 방법으로 해도 답답합니다. 어떻게 해야 하나 ㅠㅠ
원하시는 답이 맞는지 모르겠네요... 테스트도 안해보구 올렸으니, 구냥, 참고하시기 바랍니다.
int FTP_Recv_Msg_Code(int Ftp_Num,int *Ftp_Code) { int Msg_Length; char Buf[FTP_RECV_MSG],*Msg; char *CurBuf; // <- 추가 Msg=Buf; CurBuf = Buf; // <- 추가 memset( Buf, 0, sizeof(Buf) ); // <-- 추가.. while((Msg_Length=recv(Ftp_Num, CurBuf, FTP_RECV_MSG,0))) //128 바이트 씩읽음 // 수정 Buf -> CurBuf //while((Msg_Length=recv(Ftp_Num,Buf,FTP_RECV_MSG,0))) //128 바이트 씩읽음 { if(Buf[Msg_Length-1] == 0x0a) // \n 정확히 끊어질 경우 { if(Buf[3]=='-' || Buf[0]==' ') //이어서 받아오기 처리 { Buf[Msg_Length-2]='\n'; Buf[Msg_Length-1]='\0'; printf("%s",Msg); continue; } else { Buf[Msg_Length-2]='\n'; Buf[Msg_Length-1]='\0'; printf("%s",Msg); break; } } else { // 이부분 처리가 잘안되ㅜㅜ CurBuf += Msg_Length; // <- 추가 } } *Ftp_Code=(Buf[0]-'0')*100+(Buf[1]-'0')*10+(Buf[2]-'0'); // 코드값 구하기 return (*Ftp_Code); }
ㅠㅠ
mime encoding을 써보시지요?
보낼때 encoding해서 받을때 풀면 됩니다.
quoted printable은 용량이 3배로 증가..
base64는 40%정도 데이터가 증가합니다.
중간에 parity check도 넣으시면 좋겠지요.
하지만 속도가 문제라면.. 속도에 대한 보정을 하심이?
^^; 안그럼 걍 binary로 처음에 사이즈 받고 걍 그 사이즈 될때까지 읽어보시는 것이 어떤지요?
babonara님께 알려 드립니다.
답글쓰기 기능을 모르시는 것 같지는 않으니 동일한 주제에 관련된 내용은 하나의 스레드에 답글로 올려 주시기 바랍니다. 그렇지 않으면 게시판이 어지러워집니다.
텍스트 포맷에 대한 자세한 정보
<code>
<blockcode>
<apache>
<applescript>
<autoconf>
<awk>
<bash>
<c>
<cpp>
<css>
<diff>
<drupal5>
<drupal6>
<gdb>
<html>
<html5>
<java>
<javascript>
<ldif>
<lua>
<make>
<mysql>
<perl>
<perl6>
<php>
<pgsql>
<proftpd>
<python>
<reg>
<spec>
<ruby>
<foo>
[foo]
참고하시기 바랍니다.
원하시는 답이 맞는지 모르겠네요...
테스트도 안해보구 올렸으니, 구냥, 참고하시기 바랍니다.
int FTP_Recv_Msg_Code(int Ftp_Num,int *Ftp_Code) { int Msg_Length; char Buf[FTP_RECV_MSG],*Msg; char *CurBuf; // <- 추가 Msg=Buf; CurBuf = Buf; // <- 추가 memset( Buf, 0, sizeof(Buf) ); // <-- 추가.. while((Msg_Length=recv(Ftp_Num, CurBuf, FTP_RECV_MSG,0))) //128 바이트 씩읽음 // 수정 Buf -> CurBuf //while((Msg_Length=recv(Ftp_Num,Buf,FTP_RECV_MSG,0))) //128 바이트 씩읽음 { if(Buf[Msg_Length-1] == 0x0a) // \n 정확히 끊어질 경우 { if(Buf[3]=='-' || Buf[0]==' ') //이어서 받아오기 처리 { Buf[Msg_Length-2]='\n'; Buf[Msg_Length-1]='\0'; printf("%s",Msg); continue; } else { Buf[Msg_Length-2]='\n'; Buf[Msg_Length-1]='\0'; printf("%s",Msg); break; } } else { // 이부분 처리가 잘안되ㅜㅜ CurBuf += Msg_Length; // <- 추가 } } *Ftp_Code=(Buf[0]-'0')*100+(Buf[1]-'0')*10+(Buf[2]-'0'); // 코드값 구하기 return (*Ftp_Code); }ㅠㅠ
ㅠㅠ
mime encoding을 써보시지요?보낼때 encoding해서
mime encoding을 써보시지요?
보낼때 encoding해서 받을때 풀면 됩니다.
quoted printable은 용량이 3배로 증가..
base64는 40%정도 데이터가 증가합니다.
중간에 parity check도 넣으시면 좋겠지요.
하지만 속도가 문제라면.. 속도에 대한 보정을 하심이?
^^; 안그럼 걍 binary로 처음에 사이즈 받고 걍 그 사이즈 될때까지 읽어보시는 것이 어떤지요?
babonara님께 알려 드립니다.답글쓰기 기능을 모르시는 것 같
babonara님께 알려 드립니다.
답글쓰기 기능을 모르시는 것 같지는 않으니 동일한 주제에 관련된 내용은 하나의 스레드에 답글로 올려 주시기 바랍니다. 그렇지 않으면 게시판이 어지러워집니다.
댓글 달기