Q&A

  • C/S프로그램에 대해서 조언 부탁합니다.
안녕 하세요..

네트웍에 대해서 조언을 구하고자 이렇게 글을 올립니다. .

현재 구현되어 있는 부분은

Client <--------------> Server  

처음에는 TCP로 연결이 되어있습니다.

TCP로 연결되어 있는 소켓으로 하는 일은 접속(Login), 기본 데이터 전송

여기서, 하나더를 추가하고자 합니다.

그런데.. 문제가 TCP로 연결을 하느냐.. UDP로 연결을 하느냐 입니다.

여기서 보내고자 하는 데이터는 간단한 메시지들 입니다.

(
처음 TCP로 연결된 부분은 지속적으로 데이터 교환이 잇습니다..

여기서 이 메시지 데이터를 같이 보낼까도 생각 해봤는데요..

근데.. 워낙에 데이터 교환이 몇초마다 일어 나기 때문에.. 부하가 걱정이 되더군요.

그래서.. 소켓을 하나더 만들까 합니다.
)

이 소켓은 굳이 항시 연결이 될 필요가 없습니다.

그리고, 데이터 방향은 Server ----> Client로 전송이 됩니다.


Client가 잘 받았다는 메시지를 보낼 필요는 없습니다.. 뭐 보내두 상관은 없구요

처음에는 UDP로 연결해서 멀티캐스팅을 할까 했는데.

게시판에 글을 읽어 보니.. 멀티캐스트를 할 경우  라우터가 멀티캐스트를

지원하지 못할 경우 전달이 안될 수가 잇다는 군요. (제가 잘못 알고 있다면

수정해 주시구요.. 제가 생각하기엔.. 멀티캐스트로 전송하는게.. 젤루 좋을 듯

해서요..)

그래서.. 좀 망설여 지네요.. 그냥.. TCP로 연결을 할지.. 아니면.. UDP로

데이터를 전송할 수 있는 방법이 있는지..


서툰 글이지만 읽어 보시구요..

두번째 소켓은 TCP로 연결하면 좋을지 , UDP로 연결하면 좋을 지 조언 부탁드립니다.

물론. 사설 IP에서도 통신이 가능해야 겠죠. ^^

서버야. 고정IP를 사용한다지만요. Client야 사설 IP를 사용 하겠죠..
2  COMMENTS
  • Profile
    최용일 2005.06.24 20:55
    안녕하세요. 최용일입니다.

    내부망이 아닌 외부망이라면 UDP 브로드캐스팅은 불가능하다고 생각하시면 됩니다.

    L2/L3장비 자체에서 지원되는 기능이긴 하지만 외부망에서 그 기능을 활성화 시켜놓은 곳은 없습니다.

    서버가 공인이고 클라이언트가 사설이면 서버에서 클라이언트로 UDP 통신도 안됩니다.

    지금하신 TCP통신이 가장 좋은 방법이라고 생각되네요

    ^^ 항상 즐코하세요...

  • Profile
    이규하 2005.06.24 14:48
    개인적인 의견으로는, internal network 에서 사용하신다면, 부하 걱정은 크게 안하셔도 될듯 합니다. 이유는, 데이터 정도가 왔다 갔다 한다면, 흔하게 쓰이는 10/100 에서 충분하게 사용 가능 하기 때문입니다. 그리고, TCP/IP protocol 은 error 검출도 해주기 때문에, UDP 처럼 밀어 주기 식 보다. 더 원할 하게 움직이리라 확신 합니다.

    • 박상기
      2005.06.28 09:20
      CreateComObject으로 객체를 동적생성해서 해도 됩니다만, 이벤트 처리부분을 별도로 작성해줘야 할 필요...
    • 송인화
    • 2005.06.25 08:58
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 김병윤
      2005.06.25 20:07
      좀 무식해 보여도 루프 돌려서 전체 선택하면 되지 싶은데요 ^^ <!--CodeS-->   IF No...
    • 최용일
      2005.06.25 03:32
      안녕하세요. 최용일입니다. 폼 깍는거(BitmapRgn?)하고 투명도나 안티알리아스는 별다른 상관관계가 없...
    • 양승철
    • 2005.06.25 01:09
    • 3 COMMENTS
    • /
    • 0 LIKES
    • 이성진
      2005.06.28 05:29
      $00 이라는 제목으로 본 게시판 Search 해보시면 질문과 똑같은 게 나올겁니다. CPort 2.64 또는 3.0...
    • 권태훈
      2005.06.25 23:58
      var   s : String begin   for i = 1 to count   begin   &...
    • 강명식
      2005.06.25 02:11
      스트링으로 받아서 그런게 아닐까요. 한글자씩 스트링으로 받으면 그런 현상이 나타나지요.
    • 이현진
    • 2005.06.24 22:28
    • 4 COMMENTS
    • /
    • 0 LIKES
    • 이중철
      2005.06.24 23:45
      제가 했던 방식은 콜백함수와 SendMessage입니다. 콜백은 전역함수만 됩니다. 예제는 분실해서 없고요 다...
    • 이현진
      2005.06.25 00:10
      답변 감사합니다. DLL 은 이미 만들어져 있는데.. 이벤트가 발생 했을때 Notify 이벤트로 넘긴다고 하...
    • 도끼로이마까
      2005.06.25 01:46
      dll의 윈도우생성하는 함수 호출시 부모 윈도우 핸들을 넘기게 되어잇나여? 그러면 그 윈도우로 Notify가 ...
    • 이현진
      2005.06.25 02:40
      감사합니다. 해당 부모의 윈도우 핸들을 넘겨주고 있습니다. Notify 는 사용자 정의 메세지로 넘어 오...
    • 윤승환
      2005.06.24 19:54
      scaled :=false;
    • 신재민
    • 2005.06.24 16:57
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 도끼로이마까
      2005.06.24 20:10
      오랜만입니다... 분위기가 별루 안좋군요,,, <!--CodeS--> type   LPDWORD = PLon...
    • 송인화
    • 2005.06.24 15:10
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 석주현
      2005.06.24 20:42
      아래와 같이 KeyPress 루틴에 이벤트 핸들러를 작성해주시면 됩니다. ^^ <!--CodeS--> procedure...
    • 송인화
    • 2005.06.24 10:57
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 최용일
      2005.06.24 20:55
      안녕하세요. 최용일입니다. 내부망이 아닌 외부망이라면 UDP 브로드캐스팅은 불가능하다고 생각하시면 ...
    • 이규하
      2005.06.24 14:48
      개인적인 의견으로는, internal network 에서 사용하신다면, 부하 걱정은 크게 안하셔도 될듯 합니다. 이유...
    • 김현수
    • 2005.06.24 09:43
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 이규하
      2005.06.24 15:04
      다른 프로그램을 인스톨 하시다가, BDE engine path 가 변경 된것이 아닌가 싶은데요. registry 에서 ...
    • 정경철
    • 2005.06.24 05:35
    • 0 COMMENTS
    • /
    • 0 LIKES
    • 델팡
    • 2005.06.24 03:05
    • 2 COMMENTS
    • /
    • 0 LIKES
    • nilriri™
      2005.06.24 05:15
      델파이에서 sql문장을 조합할때는 (') 싱글 따옴표는  ('') 두개를 찍어야 합니다.. '' as ...
    • 델팡
      2005.06.24 18:26
      ^^/ 조은하루
    • 아폴론
    • 2005.06.24 00:56
    • 3 COMMENTS
    • /
    • 0 LIKES
    • 아폴론
      2005.06.24 22:12
      그런데 죄송하게도 성공하지 못하고 있습니다.   위에서 다시 질문 할까 합니다만...
    • nilriri™
      2005.06.24 05:22
      에러 메시지가 없네요..ㅡㅡ; try excpet     on  e : exception do ...
    • 이규하
      2005.06.24 15:09
      에러가 relay error 라면, 서버의 relay check 를 검토 해야 합니다. 즉 델파이 코드 에러가 아닐수도 있...
    • Jung
    • 2005.06.23 21:22
    • 0 COMMENTS
    • /
    • 0 LIKES
    • 한상훈
    • 2005.06.23 18:29
    • 0 COMMENTS
    • /
    • 0 LIKES
    • 송인화
    • 2005.06.23 03:31
    • 3 COMMENTS
    • /
    • 0 LIKES
    • 최용일
      2005.06.23 04:46
      안녕하세요. 최용일입니다. RichEdit의 Font에서 CharSet을 HANGEUL_CHARSET으로 바꾸어보세요. ^^ ...
    • 송인화
      2005.06.23 06:29
      안녕 하세요.. 답변 감사합니다.. 답변 주신대로 Font의 CharSet을 확인 해보았습니다. &nb...
    • 최용일
      2005.06.24 20:56
      안녕하세요. 최용일입니다. OnChange, OnKeyDown, OnKeyPress등에서 ShowMessage( IntToStr(Length(...