Q&A

  • socket프로그램을 짜는데 막히는 부분이 있어서.
안녕하세요.

델파이를 처음 접하는 초보 입니다.
많은 가르침 부탁드립니다

델파이를 이용해서 socket프로그램을 코딩중에
모르는 부분이 있어서 이렇게 글을 올립니다.

1.
제가 웹에서 뒤져서 TIdTCPServer, TTcpClient 이 두개를 상속받은
소켓을 생성해서, 프로그램을 만들었는데요.
만든 프로그램의 상태가 ..
일단 client 가 server에 접속은 성공했구요, 그리고 접속하자마자
서버가 클라이언트에게 WriteLn('Test'); 이렇게 데이터를 보냅니다.
일단 여기서 Test라는 데이터가 들어 오지 않습니다.

그리고, Send버튼을 클릭시에 클라이언트가 서버에게 데이터를
전송합니다. 데이터 전송과 동시에 ReadLn() 합니다.

서버는 데이터를 받음과 동시에 WriteLn() 해버리고요.
이렇게 해버리면 서버에서 전송한 데이터가 클라이언트에게
제대로 전송이 됩니다.


2.
TIdTCPServer, TIdTCPClient 를 상속받은 소켓을 생성해서
프로그램을 만들어서 테스트를 해봤는데.
위와 같은 결과가 나오네요..

분명 제가 뭐가를 이해를 못하던가.
잘못을 한것 같은데...
어디서 잘못을 했는지 알 수 가 없어서 이렇게 글을 올립니다.

제가 만들고자 하는 프로그램이 다중접속이 가능한 간단한 데이터 를 전달
할 수 있는 채팅프로그램같은것을 만들고자 합니다.


답변 좀 부탁드립니다 .
그럼 좋은 하루 보내세요..

소소는 첨부해서 올리겠습니다...
1  COMMENTS
  • Profile
    이중철 2005.02.02 22:04
    서버쪽 Execute에 이런식으로 바꾸어 보세요

        with AThread.Connection do begin
        try
          AThread.Connection.ReadTimeout := 10;
          Memo1.Lines.Add(ReadLn);
          //Form1.Caption := ReadLn;
        except
          exit;
        end;
          WriteLn('Test');
        end;

    • 정승욱
    • 2005.02.02 20:33
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 이중철
      2005.02.02 20:43
      일반적으로 아무것도 없는 빈폼일 경우 잘됩니다. Event 중에 두가지만 신경쓰면 되겠죠 OnRepaint, OnRes...
    • 정승욱
      2005.02.02 22:02
      맞습니다. OnPaint에다가 했었어야 하는건데... 해당 이벤트에서 하니 잘 되네요.
    • 김양훈
    • 2005.02.02 19:22
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 모영철
      2005.02.02 22:31
      전에 한번 hotmail.com 을 통해서 메일을 발송한적이 있습니다. 델마당 팁/강좌 게시판에 가서 smtp등으...
    • 오병준
    • 2005.02.02 18:25
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 이중철
      2005.02.02 20:22
      localhost는 127.0.0.1 입니다. 내부에 접속은 다음과 같이 하면 됩니다. 외부접속은 Destination ip가 ...
    • 유효근
    • 2005.02.02 11:39
    • 0 COMMENTS
    • /
    • 0 LIKES
    • 송인화
    • 2005.02.02 05:30
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 이중철
      2005.02.02 22:04
      서버쪽 Execute에 이런식으로 바꾸어 보세요     with AThread.Connection do begi...
    • 아폴론
    • 2005.02.02 04:39
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 정찬희
      2005.02.02 11:53
      Media.dpr 의 146번째 줄에 써있는 유닛을 따라가서 살펴보세요. 분명히 어딘가의 uses에 포함이 되어있는...
    • 송준헌
    • 2005.02.02 03:46
    • 3 COMMENTS
    • /
    • 0 LIKES
    • 이중철
      2005.02.02 22:48
      일반적으로 서비스프로그램을 만들면 프로세스에는 해당서비스는 없을텐데 있다고 하니.. 쩝 이해가 XP이...
    • 송준헌
      2005.02.03 06:48
      제가 잘못 만들었는지 모르지만.. Xp에서 작업 관리자에 보니깐 실행 파일 명이 나오더군여... 접접. ㅜㅜ ...
    • 이중철
      2005.02.03 20:36
      말씀하시는 것을 보면 고객이 의도적으로 죽인것이 아니군요 즉, 악의적인 목적으로 죽인 것이 아니라 실...
    • 임동호
      2005.02.02 02:33
    • KDDG_RNStone
      2005.02.02 03:36
      AdvStringGrid를 사용하고 계신가요? 아래 이벤트에서 해당 컬럼의 속성을 Center로 설정하시면 되는데...
    • 송종효
      2005.02.02 01:15
      AdvStringGrid 에 있는 제공 되는 함수를 사용 해보세요 그리드에 체크박스 추가시    ...
    • 난 백만당적이다.
      2005.02.02 01:10
      그 팩키지에 예제가 있을 겁니다. 혹 모르니 올려드릴께요
    • 서해근
    • 2005.02.01 21:21
    • 0 COMMENTS
    • /
    • 0 LIKES
    • 고진중
    • 2005.02.01 20:48
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 윤병진
      2005.02.01 23:36
      엑셀Appliction.Range['C10:C10'].FormualR1C1 = '=SUM(C8:C9)';
    • KKAW
    • 2005.02.01 19:08
    • 4 COMMENTS
    • /
    • 0 LIKES
    • sallyslaw
      2005.02.01 23:28
      SELECT * FROM TA A, TB B WHERE A.AA = B.BA    AND A.AB = SUBSTRB(B.BB, 1, 3) 위와 ...
    • 공성환
      2005.02.01 20:00
      SELECT b.*     FROM ta a, tb b   WHERE a.aa = b.ba   &nbs...
    • KKAW
      2005.02.01 20:41
      디비는 엑세스 입니다... SUBSTR은 어떤함수 인가요...? 인수들 설명도 좀 부탁드립니다... 귀찮게 해드...
    • 고진중
      2005.02.01 21:57
      s : = 'ABCDE' substr(s,1,3) = 'ABC' substr(s문자의,1번재문자부터,3개의 문자) substr(s,3,2) = ...
    • 이승민
      2005.02.02 01:17
      엑티브 엑스에 param 값으로 넘시면 될겁니다. param 값으로 가져가는 것은 엑티브엑스 관련 자료들을 ...
    • 유효근
    • 2005.02.01 10:53
    • 3 COMMENTS
    • /
    • 0 LIKES
    • 박상윤
      2005.02.01 22:29
      둘다.. 프로토 콜이져...^^ directshow에서는 URL Render 를 사용하신다면.. 간닿게 해결 될것 같은데....
    • 유효근
      2005.02.01 23:17
      네, ^^ 감사합니다. 지금은 그냥 공부형식으로 버튼하나를두고 Play, Stop 이것 두가지만 구현해 보고...
    • 박상윤
      2005.02.18 00:48
      Dspack를 자료실에 받아서. 해보세여 예제 두있으니...^^ 그리고.. 참고로.. directx 9 SDk 를 ...
    • 김상균
      2005.02.01 17:15
      procedure datecheck(Sender : TObject); var   temp_string : string; begin   t...
    • 이중철
      2005.02.02 20:32
      Setfocus라는 것은 TWinControl에서 상속받는 객체들은 모두 있는 것입니다. 그럼 이렇게 수정되겠죠 pro...
    • 김상균
      2005.02.01 06:10
      코딩은 많지만 이렇게 해 보세요. 좀 허접 하죠. 저도 아직 초보라..... 예) Table 명 : taxmast 이고 cod...
    • 장재영
      2005.02.01 20:30
      코드번호을 알고 있으때 지울려고 합니다. 예제 샘플 db 올리니 한번지워 보세요 (ID,PASS 없음) cod...
    • 이훈
      2005.02.01 21:08
      Code가 중복인것만 지우는건가요? 아니면 YE, MO 도 조건에 포함되어야 하는건가요? 그리고 중복된것...
    • 김정현
    • 2005.02.01 01:52
    • 3 COMMENTS
    • /
    • 0 LIKES
    • 석주현
      2005.02.01 03:20
      질문을 몇번 읽어 봤습니다.. 뭘 말씀하시는건지 제가 보기에는 델파이의 IDE 사용 방법도 아직 잘 모르...
    • 김정현
      2005.02.01 18:55
      //성별     Cbo_Sex1.Clear;     Cbo_Sex1.Items.Add(''); &n...
    • 송경철
      2005.02.12 02:04
      어느 이벤트에 코딩을 했는지 잘 모를경우 소스의 윗부분에 커서를 위치시킨 후 Search - Find 옵션을 한...
    • 남경만
    • 2005.02.01 01:52
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 이훈
      2005.02.01 09:54
      Select * From a Left Join b On a.no = b.no MS SQL과 비교 자체가 안되지만 함수 사용방법 및 함수...
    • 송경철
      2005.02.12 02:09
      참고로 MS-SQL에서는 SUBSTRING(STR,1,3) 이런식으로 쓰지만        ...
    • 김현철
    • 2005.02.01 00:09
    • 4 COMMENTS
    • /
    • 0 LIKES
    • 난 백만당적이다.
      2005.02.01 00:18
      KeyDown Event에서 if key = RK_RETURN then begin    key := 0;    //계산.....
    • 김현철
      2005.02.01 00:38
      이렇게 하면 엔터 키로 넘어 갈땐 이벤트가 일어나지만 방향키나 바우스로 다른 셀을 클릭하면 계산 루틴...
    • 난 백만당적이다.
      2005.02.01 18:30
      방향키에 대한것은 VK_RETURN 처럼 VK_UP, VK_DONW 을 사용하면 될거구요... 마우스는 클릭전 Col, ...
    • 김현철
      2005.02.01 22:28
      감사합니다....
    • 이순홍
    • 2005.01.31 22:52
    • 0 COMMENTS
    • /
    • 0 LIKES