Q&A

  • Indy TCP/IP 에대한 질문요...
채팅프로그램을 만들고 있는데요

서버에 연결을 시도하면 10049에러가 계속 뜨거든요.

우선 코딩한걸 한번 보세여

procedure TfmClient01.btnConnectClick(Sender: TObject);
var
    Address : string;
begin
    InputBox('연결할 컴퓨터','연결할 호스트',Address);
    with IdTCPClient1 do
    begin
        Address := IdTCPClient1.Binding.IP; <-- 이부분이 틀린것같은데...
            IdTCPClient1.Connect;
            MyThread := TMyThread.Create(true);
            MyThread.FreeOnTerminate := true;
            MyThread.Resume;
    end;
end;

클라이언트에서는 버턴을 누르면 인풋박스가 뜨고 호스트아이피를 넣고요

서버에서는 클라이언트에서 접속하기 전에 버턴을 누르면 활성화가 되게

하였어요.

참고로 에러에 대한 도움말에는

10049        Address is not available from the local machine.

고수님들의 답변부탁드립니다.
1  COMMENTS
  • Profile
    최용일 2003.07.19 21:45
    안녕하세요. 최용일입니다.

    에러 메세지에 써진것처럼 Host가 설정이 안되어 있네요...

    if InputBox('연결할 컴퓨터','연결할 호스트',Address) then
    begin
        with IdTCPClient1 do
        begin
            IdTCPClient1.Host := Address;
            IdTCPClient1.Connect;
            MyThread := TMyThread.Create(true);
            MyThread.FreeOnTerminate := true;
            MyThread.Resume;
        end;
    end;

    머 Port설정이야 디자인타임에 하셨을거 같구요...

    그리고 네트워크프로그래밍하실려면 반드시 예외처리를 해주세요... 이넘들은 언제 어디서 예외가 발생할지 모르니까요... IdTCPClient1.Connect; 할때도 발생하는 예외들은 많이 있습니다...

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