다음은 서버 프로그램중에서 임의의 포트로 할당하기 위해
포트 넘버를 할당 받아서 소켓을 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;
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;