C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C++빌더 Q&A
C++Builder Programming Q&A
[6926] Re:UDP를 이용해서 파일 전송하는 소스를 구할수 없을까요?
방태윤 [nabty] 4595 읽음    2001-04-20 20:08
잠깐 시간을 내서 해보았습니다.
그냥 개념없이 되도록만 한겁니다.(원래 개념이 없음)
약 300k 짜리를 보냈는데..쪼개서 보내야 되는데..
중간에 sleep 이 없으면 안되더군요..
udp 로 파일 전송하는건 불가능하진 않겠지만
상호 통신을 주고 받으면서 하지 않는다면
의미가 없지 않을까 생각합니다.
그래서 tcp 를 쓰는가 봐요.
되긴 됩띠다.sleep 넣으니까..

//send
void __fastcall TForm1::Button1Click(TObject *Sender)
{
  NMUDP1->RemoteHost="216.214.109.181";
  NMUDP1->RemotePort=4989;

  FILE*fp=fopen("e:\\aaaa.bmp","rb");
  int read_size;
  fseek(fp,0,2);
  long size=ftell(fp);
  char buf[2048];
  fseek(fp,0,0);

  AnsiString st="start:aaaa.bmp";
  NMUDP1->SendBuffer(st.c_str(),st.Length(),st.Length());
  Sleep(200);
  while(size)
  {
    read_size=(size>2048)?2048:size;
    fread(buf,read_size,1,fp);
    size -= read_size;
    NMUDP1->SendBuffer(buf,read_size,read_size);
    Sleep(200);
  }
  AnsiString end="done!";
  Sleep(200);
  NMUDP1->SendBuffer(end.c_str(),end.Length(),end.Length());
  ShowMessage("done!");
  fclose(fp);
}
//---------------------------------------------------------------------------

//receive

void __fastcall TForm2::FormShow(TObject *Sender)
{
  NMUDP1->LocalPort=4989;
}
//---------------------------------------------------------------------------
FILE*fp;
void __fastcall TForm2::NMUDP1DataReceived(TComponent *Sender,
      int NumberBytes, AnsiString FromIP, int Port)
{
  int readen;
  char buf[2048];

  NMUDP1->ReadBuffer(buf,NumberBytes,readen);
  if(strncmp(buf,"start",5)==0){
    fp=fopen("c:\\bbbb.bmp","w+b");
  }else if(strncmp(buf,"done!",5)==0){
    fclose(fp);
    ShowMessage("receive done!");
  }else{
    if(fp){
      fwrite(buf,readen,1,fp);
    }
  }
}
...끝...

강우식 님이 쓰신 글 :
: tcp/ip를 이용한건 많이있지요...^^
:
: 그런데 유디피를 이용한건 어디서 구할수 있을까요...?
:
: 아니면 방법만이라도...
:
: UDP의 특성상 정확한 전송을 원하는건 아닙니다.
:
: BroadCasting을 할 목적이니까요....
:
: 부탁드립니다...^^

+ -

관련 글 리스트
6909 UDP를 이용해서 파일 전송하는 소스를 구할수 없을까요? 강우식 3696 2001/04/19
6926     Re:UDP를 이용해서 파일 전송하는 소스를 구할수 없을까요? 방태윤 4595 2001/04/20
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.