Q&A

  • indy 에서 패킷의 전송자료 크기의 적정성은?
indy tcp/ip와 관련한 tcp서버 클라이언트 소켓컴포넌트를 사용합니다.



현재는 버퍼의 크기를 1024로 한정하여 보내는데



이를 2048, 4096 정도로 올려도 괜찮을지 묻고 싶네요~~~



더불어 다른분덜은 udp 로 파일전송을 하는 것같던데



udp도 쓸만 한가요?







3  COMMENTS
  • Profile
    어이! 허준 2000.11.14 20:10
    버퍼 전송시 4096정도가 안정적 입니다. 8192정도로 하면 패킷을 잃어버리는 경우가

    생겨서 전송 Block을 계산해서 다시 패킷을 날려야 하는 경우가 생깁니다.

    UDP는 전송은 빠르지만 안정적이지 않습니다.

    UDP는 패킷전송후 상대방이 받았는지를 생각하지 않고 무조건 페킷을 날리는 방법입니다. 게임 만들때 많이 사용하는 방법입니다.

    파일전송을 할깨는 TCP/IP Protocol을 사용하는게 바람직 합니다.

    어허 탕약 다 쫄겠네.... 그럼 이만

  • Profile
    김하늘 2000.11.15 00:26
    허준의원 나리 답변 감사요...

    그럼 4배는 뛸수 있겠네요...





    어이! 허준 wrote:

    > 버퍼 전송시 4096정도가 안정적 입니다. 8192정도로 하면 패킷을 잃어버리는 경우가

    > 생겨서 전송 Block을 계산해서 다시 패킷을 날려야 하는 경우가 생깁니다.

    > UDP는 전송은 빠르지만 안정적이지 않습니다.

    > UDP는 패킷전송후 상대방이 받았는지를 생각하지 않고 무조건 페킷을 날리는 방법입니다. 게임 만들때 많이 사용하는 방법입니다.

    > 파일전송을 할깨는 TCP/IP Protocol을 사용하는게 바람직 합니다.

    > 어허 탕약 다 쫄겠네.... 그럼 이만

  • Profile
    이경문 2000.11.19 14:40
    참고.....



    TCP/IP로 패킷을 전송하는 방법에는 크게 두가지가 있습니다.

    첫번째 방법(안정적인 방법)

    전송자가 우선 한 패킷단위을 보내고

    수신자가 잘 받았다는 ACK를 보내면(IP 레이어에서 하는 것이 아니고 실제 어플 레이어에서)

    다시 전송자가 그 다음 패킷을 보내는 방법



    두번째 방법

    전송자가 for문이나 while문을 이용하여 패킷단위들을 전송하는 방법



    억수로(?) 중요한 데이터는 첫번째 방법을 사용하기도 합니다.

    두번째 방법을 사용할 때는 네트워크의 부하가 1024바이트, 2048, 4096바이트에 상관없을 것입니다.

    전송률은 오히려 MTU(maximum transfer unit)에 적용받게 되지여.

    Slip에서는 MTU가 700바이트, Ethernet에서는 1440바이트(정확한 수치는 기억이 안나네요)정도 됩니다.

    즉 2048바이트를 보낸다 하더라고 실제적으로 잘려서 전송되게 됩니다.

    이 수치는 일반적으로 프로그램에서 제한하고 있는 8192바이트와는 개념이 다릅니다.



    이 테스트는 ICMP(Ping)로 확인할 수 있습니다.



    ping -l 1 www.borland.com

    ping -l 1024 www.borland.com



    즉 한바이트 보내나 1024바이트 보내가 네트워크 부하는 똑같다는 얘기입니다.

    하지만 한번에 전송하려는 크기가 MTU보다 커지게 되면 그때부터 네트워크부하에

    차이가 나게 되는 것입니다.



    쩝, 참고가 되었을라나, 내가 말해 놓고도 무슨 말인지 모르겠당...



    김하늘 wrote:

    > 허준의원 나리 답변 감사요...

    > 그럼 4배는 뛸수 있겠네요...

    >

    >

    > 어이! 허준 wrote:

    > > 버퍼 전송시 4096정도가 안정적 입니다. 8192정도로 하면 패킷을 잃어버리는 경우가

    > > 생겨서 전송 Block을 계산해서 다시 패킷을 날려야 하는 경우가 생깁니다.

    > > UDP는 전송은 빠르지만 안정적이지 않습니다.

    > > UDP는 패킷전송후 상대방이 받았는지를 생각하지 않고 무조건 페킷을 날리는 방법입니다. 게임 만들때 많이 사용하는 방법입니다.

    > > 파일전송을 할깨는 TCP/IP Protocol을 사용하는게 바람직 합니다.

    > > 어허 탕약 다 쫄겠네.... 그럼 이만

    • 김일영
      2000.11.15 00:56
    • 김민석(델초보)
      2000.11.15 18:13
    • 김일영
      2000.11.15 18:14
    • 김민석(델초보)
      2000.11.15 02:47
    • 김일영
      2000.11.15 04:16
    • 김민석(델파이 초보)
      2000.11.15 08:01
    • 초보왕
    • 2000.11.15 00:44
    • 1 COMMENTS
    • /
    • 0 LIKES
    • AONE
      2000.11.15 02:04
      정확한 답변인지 모르지만....LOCATE 를 사용하시면 찾을수 있을것 같은데... 초보왕 wrote: > 델 초보...
    • 초보자
    • 2000.11.14 23:16
    • 1 COMMENTS
    • /
    • 0 LIKES
    • Azurei
      2000.11.15 02:57
      초보자 wrote: > 한 RichEdit에서 한 라인당 80Byte가 입력이 되면 자동으로 > 다음 라인으로 가게끔 할...
    • won
      2000.11.15 05:27
      우선은 ADO를 테스트해보고, 완벽하게 이해하시기 바랍니다. CursorType, LockType을요.. 정답은 가까운 ...
    • AONE
      2000.11.15 02:09
      정확한 답변인지는 모르지만... 첫번째 테이블락을 설정하는 방법 두번째 등록, 수정, 삭제시 해당 테이...
    • 이용희
      2000.11.16 19:46
      castle road wrote: > 볼랜드 BDE 관리자(Admin...) configuration 탭에서 > [-]Configuration > [-...
    • 박인우
      2000.11.15 17:58
      음 제생각에는 혹시 윈98에 오라클 클라이언트를 설치 하셨나요? 확실한 답변은 아니지만 저는 아직 한...
    • 최명관
    • 2000.11.14 22:01
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 최진환
      2000.11.15 03:14
      최명관 wrote: > 동적으로 생성할 폼을 avaliable form 으로 지정하고 > > 그 폼을 생성할때 > >...
    • Azurei
      2000.11.15 01:00
      최명관 wrote: > 동적으로 생성할 폼을 avaliable form 으로 지정하고 > > 그 폼을 생성할때 > >...
    • 바보감자
      2000.11.14 23:01
      이야.... 정말 되넹 ㅜ.ㅜ흑흑 정말 감사하구여 select a, max(b) from xxx group by a 이거 다른...
    • 공성환
      2000.11.14 21:55
      select a, max(b) from xxx group by a 하면 님이 원하시는 답변이 될것같습니다... 지금 3개의 로...
    • Azurei
      2000.11.14 21:52
      바보감자 wrote: > 안냐세염~~~~~~~~~~~~~~~ > 바보감자입니당... > 여러분.. 제가 궁금한게 있어서염. ...
    • 임성룡
    • 2000.11.14 21:47
    • 1 COMMENTS
    • /
    • 0 LIKES
    • Azurei
      2000.11.14 21:50
      임성룡 wrote: > 안녕하세요...다름이 아니라 > 버튼의 이벤트 처리를 하는데.... > 계속 누르고 있었...
    • 델러브
    • 2000.11.14 21:52
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 공성환
      2000.11.14 21:57
      예전에 제가 코디으로 무식하게 한적있는데... 검색해보세요... 소스도 올렸습니다... 델러브 wrote: > ...
    • youngae
    • 2000.11.14 20:11
    • 4 COMMENTS
    • /
    • 0 LIKES
    • 타락천사
      2000.11.14 20:15
      안녕하세여.. 타락임다.. ^^ 라인에 넣는게 16바이16 또는 32바이32 를 넣는건가여? 아님, 유저디파...
    • youngae
      2000.11.14 23:19
      타락천사 wrote: > 안녕하세여.. 타락임다.. ^^ > > 라인에 넣는게 16바이16 또는 32바이32 를 넣는건...
    • 타락천사
      2000.11.15 02:19
      안녕하세여.. 타락임다..^^ 아래와 가치 하면 됩니다.. procedure TMainForm.Button2Click(Sender: T...
    • youngae
      2000.11.15 05:24
      아 ~~~ 감동 감동 정말 감사합니다.... 헤헤 근데 지금 저희 멜 서버가 죽어버렸어요..낼이나 돼야 확인...
    • cell
    • 2000.11.14 19:54
    • 2 COMMENTS
    • /
    • 0 LIKES
    • nilriri
      2000.11.14 22:40
      cell wrote: > LOC_NO W REPAIR_D EMP_CO MACHIN BAD_CO CHK_QTY > ------ - -------- ------- ----...
    • 공성환
      2000.11.14 22:04
      데이타 베이스가 오라클이면 인라인뷰와 디코더를 이용해서 표현하실수 있습니다... 보통이런거를 짜빠트...
    • 타락천사
      2000.11.14 20:12
      안녕하세여. 타락임다..^^ 팁모아에 제가 올려놓은 글이 있습니다... "타락천사"로 검색해 보세여.. ...
    • coolling
      2000.11.14 20:03
      자료실이나 강의실에 가면, 실력있는 고수님들이 만들어놓은 시간/날짜 계산 프로그램 소스가 있을겁니다.....
    • 김하늘
    • 2000.11.14 18:59
    • 3 COMMENTS
    • /
    • 0 LIKES
    • 어이! 허준
      2000.11.14 20:10
      버퍼 전송시 4096정도가 안정적 입니다. 8192정도로 하면 패킷을 잃어버리는 경우가 생겨서 전송 Block을 ...
    • 김하늘
      2000.11.15 00:26
      허준의원 나리 답변 감사요... 그럼 4배는 뛸수 있겠네요... 어이! 허준 wrote: > 버퍼 전송시 4096...
    • 이경문
      2000.11.19 14:40
      참고..... TCP/IP로 패킷을 전송하는 방법에는 크게 두가지가 있습니다. 첫번째 방법(안정적인 방법) ...