Q&A

  • 서버소켓의 이벤트 처리과정은 어떻게...
안녕하세요..

여러명의 클라이언트 접속을 가진 서버가 파일을 다운로드 받을려고 합니다. 여러명의 클라이언트가 동시에 파일을 보내는 군요.

만약 특정클라이언트의 연결을 받아들여 데이터를 처리하고 있는 상황에서 다른 클라이언트의 접속이 발생했다는 이벤트가 발생한다면 그 처리는 어떻게 되는가요?

고수님들의 지도를 부탁드립니다.

1  COMMENTS
  • Profile
    이경문 2000.09.25 10:27
    서버소켓의 OnClientRead 이벤트 아시져?

    여기서 Socket이라는 객체는 클라이언트마다 다른 객체가 파라미터로 넘어 오게 됩니다.

    이 인자를 이용하여 클라이언트들을 구분할 수 있습니다. 그럼...



    procedure TForm1.ServerSocket1ClientRead(Sender: TObject;

    Socket: TCustomWinSocket);

    var

    i: Integer;

    begin

    for i := 1 to Serversocket1.Socket.ActiveConnections - 1 do

    begin

    if Socket = ServerSocket1.Socket.Connections[i] then

    Memo1.Lines.Add(IntToStr(i) + '번째 클라이언트 접속입니다');

    end;

    // Read되는 데이터를 처리할 것

    end;



    삥 wrote:

    > 안녕하세요..

    > 여러명의 클라이언트 접속을 가진 서버가 파일을 다운로드 받을려고 합니다. 여러명의 클라이언트가 동시에 파일을 보내는 군요.

    > 만약 특정클라이언트의 연결을 받아들여 데이터를 처리하고 있는 상황에서 다른 클라이언트의 접속이 발생했다는 이벤트가 발생한다면 그 처리는 어떻게 되는가요?

    > 고수님들의 지도를 부탁드립니다.