Q&A

  • TCP/IP connection & UDP
델파이에 관한 이야기는 아닙니다만, 프로그래밍에 관한 내용이므로 이곳이 좀 더 적합한 것으로 생각되어 이곳에 올립니다



저는 MFC로 윈속 프로그래밍을 하고 있습니다.



간단한 데이터를 주고 받기 위해서 VC에 제공되는 채팅 예제를 개조하여

TCP로 통신하는 프로그램을 만들었습니다.



A 회사(서울)에서 B회사(안양) 간에는 접속이 잘되어 빠른 속도로 데이타 통신에 성공했습니다. (A회사, B회사는 자매회사이어서 네트웍을 같이 사용하는 것으로 알고 있습니다) 그런데 C라는 전혀 다른 그룹의 회사(서울)로 보내려니 쌍방이 다 접속이 안되더군요. (한참을 접속하려다 Connection Timeout에러를 내는듯) VC에 제공되는 예제 역시 마찬가지 결과를 보여주는 것으로 보아 제가 개조한 부분이 문제는 아닌것 같군요.



그래서 액티브 팝업을 받아 설치하고 전송해보니 C에서 A로는 전송이 되는데,

(접속하는데 오래걸리지 않는듯 합니다) A에서 C로는 전송이 되지 않더군요.

특이한건 C사의 친구 IP는 150....으로 시작 된다고 이야기 하는데

도착한 메세지를 보면 203...으로 나온다는 것입니다.



1. 우선 C사의 IP 구조가 어떤 것인지 궁금하구요.

2. 다음 VC 예제에서도 C>A 접속이 안되는 것이 액티브 팝업에서는 잘되는 비결이 무엇인지 궁금합니다. 특별히 강화한 부분이 있는지 아니면 비동기모드의 장점인지 궁금합니다.

아시는 문제라면 답변이나 간단한 참조 문헌을 알려 주시면 대단히 감사하겠습니다



3. 그리고 UDP를 시도중인데, 예제들을 보면 RecvFrom을 무한 루프로 돌리게 되어 있더군요. 무시하고 한번만 받는 것으로 해보니 안되더군요. 빠른 속도로 계속 RecvFrom을 실행 해야하는지, 그렇다면 몇ms 이내에 재 수신을 해야하는지 궁금합니다



감사합니다



3  COMMENTS
  • Profile
    강지영 1999.04.26 01:12
    팁란에서 본건데요..

    dbgrid에 콤보박스를 올리려면..



    if (gdFocused in state) then

    begin

    if DBGrid1.SelectedIndex = 3 then

    begin

    with DBComboBox1 do

    begin

    left := Rect.left + DBGrid1.left;

    top := Rect.Top + DBGrid1.Top;

    Width := Rect.Right - Rect.left;

    visible := true;

    end;

    end;

    end;

    요렇게 하라고 해서 시킨대로 했더니..

    해당 필드에 포커스가 가면 콤보박스가 보이기는 보이는데..

    dbgrid가 밑으로 주르르.. 내려가서..

    결국은 dbgrid와 콤보박스의 겹쳐지기가 않되더라구요.. 이궁..(갈켜줘도 못하는 지영이..)

    그런데 더 화가 나는건..

    옆에 펜티엄3 컴퓨터에 가서 똑같이 코딩을 해서 실행을 시켰더니 자..알 되는겁니다.. 설마.. 컴퓨터 차별하는건 아니지요??? ^^

    원인이 뭘까요..





  • Profile
    이현신 1999.07.07 18:43
    박재윤 께서 말씀하시기를...

    > 델파이에 관한 이야기는 아닙니다만, 프로그래밍에 관한 내용이므로 이곳이 좀 더 적합한 것으로 생각되어 이곳에 올립니다

    >

    > 저는 MFC로 윈속 프로그래밍을 하고 있습니다.

    >

    > 간단한 데이터를 주고 받기 위해서 VC에 제공되는 채팅 예제를 개조하여

    > TCP로 통신하는 프로그램을 만들었습니다.

    >

    > A 회사(서울)에서 B회사(안양) 간에는 접속이 잘되어 빠른 속도로 데이타 통신에 성공했습니다. (A회사, B회사는 자매회사이어서 네트웍을 같이 사용하는 것으로 알고 있습니다) 그런데 C라는 전혀 다른 그룹의 회사(서울)로 보내려니 쌍방이 다 접속이 안되더군요. (한참을 접속하려다 Connection Timeout에러를 내는듯) VC에 제공되는 예제 역시 마찬가지 결과를 보여주는 것으로 보아 제가 개조한 부분이 문제는 아닌것 같군요.

    >

    > 그래서 액티브 팝업을 받아 설치하고 전송해보니 C에서 A로는 전송이 되는데,

    > (접속하는데 오래걸리지 않는듯 합니다) A에서 C로는 전송이 되지 않더군요.

    > 특이한건 C사의 친구 IP는 150....으로 시작 된다고 이야기 하는데

    > 도착한 메세지를 보면 203...으로 나온다는 것입니다.

    >

    > 1. 우선 C사의 IP 구조가 어떤 것인지 궁금하구요.

    > 2. 다음 VC 예제에서도 C>A 접속이 안되는 것이 액티브 팝업에서는 잘되는 비결이 무엇인지 궁금합니다. 특별히 강화한 부분이 있는지 아니면 비동기모드의 장점인지 궁금합니다.

    > 아시는 문제라면 답변이나 간단한 참조 문헌을 알려 주시면 대단히 감사하겠습니다

    >

    > 3. 그리고 UDP를 시도중인데, 예제들을 보면 RecvFrom을 무한 루프로 돌리게 되어 있더군요. 무시하고 한번만 받는 것으로 해보니 안되더군요. 빠른 속도로 계속 RecvFrom을 실행 해야하는지, 그렇다면 몇ms 이내에 재 수신을 해야하는지 궁금합니다

    >

    > 감사합니다

    >



    A 사와 C 사의 쌍방향 통신이 안되는 점은 아마도..

    C사에 네트웍구성에서 게이트웨어 역활을 하는 PC가 따로있는듯 합니다.

    그러니까 C사의 개별PC는 서버역활을 할수 없는것이고 오로지 보낼수만 있는

    것이겠죠?..

    확일할수 있는 방법은...

    A사에서 C사의 IP 로 ping 테스트를 해보십시오..

    아마도 ping 이 가지 않을것이고

    거꾸로 C사에서 A 사로 ping 을 해보시면 잘 갈것같은데....

    또하나 의심되는 점은...

    C사의 PC에 IP 가 두게씩 부여가 되있을수도 있습니다..

    사내내부용과 외부용으로.... 이 경우라면 외부용 IP 를 구해서

    접속을 하면 가능할것도 같내요...



  • Profile
    이정욱 1999.04.26 01:47
    DBGrid의 Align이 문제인것 같네요.

    alClient나 다른 것이 설정되어 있으면 당연히 위치가 바뀌어 버립니다.

    이럴때는 alNone로 해놓고 하시면 됩니다.

    만약 콤보박스가 DBGrid뒤로 숨어버리면 안되니 DBGrid위에서 오른쪽 버튼을 누르신 후 Send It To Back을 한번 해주세요.

    그리고 크기가 조정이 될때는 수동으로 DBGrid의 크기를 조정해주어야 합니다.



    강지영 wrote:

    > 팁란에서 본건데요..

    > dbgrid에 콤보박스를 올리려면..

    >

    > if (gdFocused in state) then

    > begin

    > if DBGrid1.SelectedIndex = 3 then

    > begin

    > with DBComboBox1 do

    > begin

    > left := Rect.left + DBGrid1.left;

    > top := Rect.Top + DBGrid1.Top;

    > Width := Rect.Right - Rect.left;

    > visible := true;

    > end;

    > end;

    > end;

    > 요렇게 하라고 해서 시킨대로 했더니..

    > 해당 필드에 포커스가 가면 콤보박스가 보이기는 보이는데..

    > dbgrid가 밑으로 주르르.. 내려가서..

    > 결국은 dbgrid와 콤보박스의 겹쳐지기가 않되더라구요.. 이궁..(갈켜줘도 못하는 지영이..)

    > 그런데 더 화가 나는건..

    > 옆에 펜티엄3 컴퓨터에 가서 똑같이 코딩을 해서 실행을 시켰더니 자..알 되는겁니다.. 설마.. 컴퓨터 차별하는건 아니지요??? ^^

    > 원인이 뭘까요..

    >

    >





    • 박성훈
    • 1999.07.07 04:42
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 김상영
      1999.07.07 13:41
      박성훈 께서 말씀하시기를... > 출력시 폰트의 크기를 키우고 싶은데 어떤 방법을 써야 하나요. 어떤 출...
    • 박성훈
      1999.07.07 17:45
      시리얼 방식입니다. 컴포트에 식당에서 쓰는 주방용 프린터가 연결되어 있는데 여기에 주문한 메뉴명과 ...
    • 박재윤
    • 1999.07.07 04:37
    • 3 COMMENTS
    • /
    • 0 LIKES
    • 강지영
      1999.04.26 01:12
      팁란에서 본건데요.. dbgrid에 콤보박스를 올리려면.. if (gdFocused in state) then ...
    • 이현신
      1999.07.07 18:43
      박재윤 께서 말씀하시기를... > 델파이에 관한 이야기는 아닙니다만, 프로그래밍에 관한 내용이므로 이곳...
    • 이정욱
      1999.04.26 01:47
      DBGrid의 Align이 문제인것 같네요. alClient나 다른 것이 설정되어 있으면 당연히 위치가 바뀌어 버립니...
    • 김도완
    • 1999.07.07 03:49
    • 3 COMMENTS
    • /
    • 0 LIKES
    • 전형식
      1999.04.25 09:52
      안녕하세요.. 델파이를 사랑하는 개발자 입니다. 이번에 보이스관련 프로그래밍을 하고 있는데 보이스카...
    • 권경부
      1999.07.07 09:19
      리스트 박스안에 배경화면을 넣으려고 하시는것같군요. CoolControl이라는 컴포넌트 모음이 있습니다. ...
    • 구창민
      1999.04.25 21:51
      전형식 wrote: > 안녕하세요.. > 델파이를 사랑하는 개발자 입니다. > 이번에 보이스관련 프로그래밍을 ...
    • 고혜정
    • 1999.04.25 12:36
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 신호성
      1999.04.27 04:11
      고혜정 wrote: > 안녕하세요.. 오래간 만에 들어와보니 달라 졌군요. > 스토오드 프로시저 컴포넌트를 ...
    • 이현신
    • 1999.07.07 03:21
    • 3 COMMENTS
    • /
    • 0 LIKES
    • 글쎄요
      1999.07.07 18:51
      procedure TForm1.Button1Click(Sender: TObject); var sr, gr, ur : Extended; _MyGetFreeSystemRe...
    • 이현신
      1999.07.07 19:43
      글쎄요 께서 말씀하시기를... > procedure TForm1.Button1Click(Sender: TObject); > var > sr, gr, u...
    • 글쎄요
      1999.07.08 02:31
      음... 글쎄요. os가 어떤 건지 Win98이라면 있어야 하는 디 만약 NT라면 리소스구하는 것은 포기하셔야 합...
    • 전형식
    • 1999.04.25 09:52
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 구창민
      1999.04.25 21:51
      전형식 wrote: > 안녕하세요.. > 델파이를 사랑하는 개발자 입니다. > 이번에 보이스관련 프로그래밍을 ...
    • 권경부
      1999.07.07 09:25
      먼저 생성시킨 버튼들의 Tag에 번호를 매겨 두세요. 10개라면 1부터 10까지.. 그 다음은 10개짜리 Boolean...
    • 박상현
    • 1999.04.24 23:06
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 이정욱
      1999.04.25 08:02
      리스트에 없는 인덱스를 가리켰기 때문에 난 에러 입니다. 예를들면 리스트에 들어있는 아이템의 갯수가 3...
    • 류성호
    • 1999.07.07 03:18
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 김상영
      1999.07.07 13:30
      류성호 께서 말씀하시기를... > > BDE에 SQL Link을 통해서 MS-SQL 7.0에 접근하는 프로그램을 > 개발...
    • 한태진
      1999.04.25 04:23
      WhiteDragon wrote: > 제가 변환할려는 것은 도스용 dbf화일을 델파이 파라독스 화일인 db로 전환할려고 ...
    • 강지영
    • 1999.04.25 00:44
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 전철호
      1999.04.25 01:10
      강지영 wrote: > 델파이 소스를 들여다보다가 궁금한점이 있어서 질문합니다.. > 일반적으로 변수를 설정...
    • jack
    • 1999.07.07 02:16
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 김상영
      1999.07.07 13:36
      jack 께서 말씀하시기를... > 고객마스타 테이블에 고객의 생일이 저장되어 있습니다. > 형식은 yyyy-mm...
    • 강지영
    • 1999.04.25 00:44
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 전철호
      1999.04.25 01:10
      강지영 wrote: > 델파이 소스를 들여다보다가 궁금한점이 있어서 질문합니다.. > 일반적으로 변수를 설정...
    • 이태성
    • 1999.07.07 02:12
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 박성훈
      1999.07.08 02:32
      이태성 께서 말씀하시기를... > 안녕하세요 ......... > > 프로그램에 락 거는 방법을 알고 싶어요 ......
    • 권경부
      1999.07.07 09:26
      미국 터보파워사의 OnGuard라는 컴포넌트가 있습니다. 상용컴포넌트이지만 제가 지금까지 봐온 세어웨어 ...
    • 이의준
    • 1999.07.07 02:06
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 박상현
      1999.04.24 23:06
      델파이 에러 메세지중의 List Index Out Of bounds(2)에 관하여 알려주시기 바랍니다
    • 이정욱
      1999.04.25 08:02
      리스트에 없는 인덱스를 가리켰기 때문에 난 에러 입니다. 예를들면 리스트에 들어있는 아이템의 갯수가 3...
    • 초보자
    • 1999.04.24 02:28
    • 4 COMMENTS
    • /
    • 0 LIKES
    • 왕초
      1999.07.07 02:03
      ini화일에서 각각의 Section을 읽어 오려고 합니다... ini화일내용: [section1] alias=laib host=sun ...
    • chaser
      1999.04.24 03:24
      초보자 wrote: > 윈도우의 탐색기 처럼 한 폼에서 여러개의 부분으로 구분된 폼을 만들고 싶습니다. 어떻...
    • 저기요...
      1999.07.07 22:05
      왕초 께서 말씀하시기를... > ini화일에서 각각의 Section을 읽어 오려고 합니다... > ini화일내용: > [...
    • 초보자
      1999.04.24 21:53
      답변에 감사드립니다 한가지 더 질문올립니다. 화면을 양쪽으로 분할하는것은 이제 알았습니다. 그러면 ...
    • 한태진
      1999.04.25 04:23
      WhiteDragon wrote: > 제가 변환할려는 것은 도스용 dbf화일을 델파이 파라독스 화일인 db로 전환할려고 ...
    • 문창완
    • 1999.07.07 01:45
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 손창근
      1999.07.07 05:15
      문창완 께서 말씀하시기를... > form.close and form.destroy and form.free > 각각의 차이점을 알고 싶...