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

델파이 Q&A
Delphi Programming Q&A
[15328] 델파이에서 보낸 파일을 안드로이드에서 수신 하는 프로그램짜고있습니다.
Jinzeros [takeout1] 2192 읽음    2014-11-07 14:00
내용은 제목과 같이 델파이에서 보낸파일을 안드로이드에서 수신하는 프로그램입니다.

안드로이드 ... 즉, 자바는 처음하는데... 잘모르겟습니다;;

고수님들 부탁드립니다. ㅠ 참고로 Client에서 Server에 접속은 됩니다. 메시지 송수신은 잘됩니다.

파일이랑 스트링 분리하라고 인터넷에서 본것같아 2개를 분리해뒀습니다.

File 송수신 FileSocket 수신이 안됨.(연결은 되어있음)

메시지 송수신 MsgSocket  정상적으로 잘됨.(아래 소스에는 없습니다.)

# delphi 7   ServerSocket
=========================================================================
         sFileName := 'c:\sample.bmp';
         try
//            FileStream := TFileStream.Create(sFileName, fmOpenRead);
            FileStream := TFileStream.Create(sFileName, fmOpenRead or fmShareDenyWrite);

            FileStream.Position := 0;
      // Add the length of the data, so the client will know how much data to expect.
      // Append #0 so it can determine where the size info stops.
            for i:= 0 to IdServer.Socket.ActiveConnections - 1 do
            begin
               IdServer.Socket.Connections[i].SendText(IntToStr(FileStream.Size) );
               IdServer.Socket.Connections[i].SendStream(FileStream);
            end;
         except
            FileStream.Free;
         end;
=========================================================================

# Android  ClientSocket
=========================================================================
                    DataInputStream dis = new DataInputStream(fileRecevSocket.getInputStream());
                    Log.i("tree","********************");
               
               
                    Log.i("tree","***AAAAAAAAAAAAAAAA***");                   
                    String fName = dis.readUTF();
                    Log.i("tree","파일명 :" + fName + "을 전송 받았습니다.");
                    fName = fName.replaceAll("a", "b");
                    // 파일을 생성하고 파일에 대한 출력 스트림 생성
                    File f = new File(fName);
                    fos = new FileOutputStream(f);
                    bos = new BufferedOutputStream(fos);
                    Log.i("tree","파일명 :" + fName + "파일을 생성하였습니다.");

                    //바이트 데이터를 전송받으면서 기록
                    int len;
                    int size = 4096;
                    byte[] data = new byte[size];
                    while ((len = dis.read(data)) != -1)
                    {
                        bos.write(data, 0, len);
                    }
   
                    bos.flush();
                    bos.close();
                    fos.close();
                    dis.close();
                    Log.i("tree","파일 수신 작업을 완료하였씁니다.");
                    Log.i("tree","받은 파일의 "
                            + ""
                            + "사이즈 : " + f.length());
=========================================================================

+ -

관련 글 리스트
15328 델파이에서 보낸 파일을 안드로이드에서 수신 하는 프로그램짜고있습니다. Jinzeros 2192 2014/11/07
15329     Re:델파이에서 보낸 파일을 안드로이드에서 수신 하는 프로그램짜고있습니다. 눈팅이 2385 2014/11/10
15332         Re:Re: 파일 분할하여 송신하는 법을 알고싶습니다. Jinzeros 2017 2014/11/12
15334             Re:Re:Re: 파일 분할하여 송신하는 법을 알고싶습니다. 눈팅이 3364 2014/11/13
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.