Q&A

  • 소켓에러가 납니다
다음은 서버 프로그램중에서 임의의 포트로 할당하기 위해

포트 넘버를 할당 받아서 소켓을 open시킬려고 하는 프로그램입니다.

그런데 소켓에러(10048)가 발생합니다.

발생원인은 ServerSocket1.open 에서 발생하구요...

어떻게 처리해야 하는지 책을 찾아봐도 잘 나오질 않더군요..

혹시 아시는 분 좀 갈카주세요...

그럼 캄사함다... ^^



procedure TMain.N2Click(Sender: TObject);

begin

if ServerSocket1.Active = True then

MessageDlg('이미 연결되어 있습니다', mtError, [mbOk], 0)

else begin

PortInput := TPortInput.create(self);

if PortInput.ShowModal = mrOk then begin

//port := PortInput.Edit1.text;

ServerSocket1.Port := StrToInt( PortInput.Edit1.Text );

try

ServerSocket1.Open;

except

ShowMessage('error');

end;

end;

end;

end;

1  COMMENTS
  • Profile
    최용일 2000.04.22 06:42
    안녕하세요. 최용일입니다.



    10048 - Only one usage of each socket address (protocol/network address/port) is normally permitted.



    위의 메세지만 가지고도 왜 에러가 발생했는지 아시겠죠?



    한델의 팁모아에 가시면 에러코드리스트가 있습니다.



    ^^ 항상 즐코하세요.



    김종삼 wrote:

    > 다음은 서버 프로그램중에서 임의의 포트로 할당하기 위해

    > 포트 넘버를 할당 받아서 소켓을 open시킬려고 하는 프로그램입니다.

    > 그런데 소켓에러(10048)가 발생합니다.

    > 발생원인은 ServerSocket1.open 에서 발생하구요...

    > 어떻게 처리해야 하는지 책을 찾아봐도 잘 나오질 않더군요..

    > 혹시 아시는 분 좀 갈카주세요...

    > 그럼 캄사함다... ^^

    >

    > procedure TMain.N2Click(Sender: TObject);

    > begin

    > if ServerSocket1.Active = True then

    > MessageDlg('이미 연결되어 있습니다', mtError, [mbOk], 0)

    > else begin

    > PortInput := TPortInput.create(self);

    > if PortInput.ShowModal = mrOk then begin

    > //port := PortInput.Edit1.text;

    > ServerSocket1.Port := StrToInt( PortInput.Edit1.Text );

    > try

    > ServerSocket1.Open;

    > except

    > ShowMessage('error');

    > end;

    > end;

    > end;

    > end;