Q&A

  • server 소켓에서 특정 client 한테만메세지 보낼때?-급합니다...
특정 클라이언트한테만 메세지를 보내는 방법이 뭐에요?



서버소켓에 접속한 소켓의 핸들을 저장해 두면 서버가 원할때 원하는 클라이언트에게만 메세지를 보낼 수 있지 않는지요?





3  COMMENTS
  • Profile
    오기주 2001.01.14 01:29
    델파이에 기본적으로 들어 있는 서버 소켓의 경우 아래와 같이 하면 됩니다.



    ServerSocket1.Socket.Connections[0].SendText('0번째클라이언트에게 보내는 메세지');



    클라이언트의 어드레스를 알아 내서 보내야 하는경우역시 Connections[0].addr 같은것

    으로 확인후 보내면 되겠죠.



    그럼 즐프 하시길.





    물음이 wrote:

    > 특정 클라이언트한테만 메세지를 보내는 방법이 뭐에요?

    >

    > 서버소켓에 접속한 소켓의 핸들을 저장해 두면 서버가 원할때 원하는 클라이언트에게만 메세지를 보낼 수 있지 않는지요?

    >

    >

  • Profile
    물음이 2001.01.14 03:04
    답변감사합니다.

    그러면...접속한 클라이언트의 핸들을 알 필요가 없나요?

    그리고 커넥션의 인텍스는 어떤기준인가요? 연결된 순서인가요?

    그럼 어떤 클라이언트가 몇번인지 어떻게 알 수 있나요?

    Connections[0].addr 으로 확인 한다고 하셨는데..조금만 구체적으로...설명해 주시면 고맙겠습니다.



    오기주 wrote:



    > 클라이언트의 어드레스를 알아 내서 보내야 하는경우역시 Connections[0].addr 같은것

    > 으로 확인후 보내면 되겠죠.

    >

    > 그럼 즐프 하시길.

    >

    >

    > 물음이 wrote:

    > > 특정 클라이언트한테만 메세지를 보내는 방법이 뭐에요?

    > >

    > > 서버소켓에 접속한 소켓의 핸들을 저장해 두면 서버가 원할때 원하는 클라이언트에게만 메세지를 보낼 수 있지 않는지요?

    > >

    > >

  • Profile
    오기주 2001.01.14 07:25
    제생각으로는 접속한 클라이언트 ip 를 접속할때마다 list 형태로 만들어놓은후

    보내고자 하는 클라이언트의 ip 를 체크 해서 전송 하면 될거 같은데요??



    function findses(findip):inetegr;

    var i:integer;

    Begin

    For i := 0 To Serversocket1.socket.connections.count-1 do begin

    if serversocket1.socket.connections[i].addr=findip then begin

    result:=i;

    exit;

    end;

    end;

    result:=-1;



    end;



    이런 형태면 될거 같은데요.. 머 함수 쓰지 말고 직접 날려도 되고요.

    그리고 접속 ip는 connetion 이벤트에서 알수 있습니다.

    그럼 즐푸 하세요.



    물음이 wrote:

    > 답변감사합니다.

    > 그러면...접속한 클라이언트의 핸들을 알 필요가 없나요?

    > 그리고 커넥션의 인텍스는 어떤기준인가요? 연결된 순서인가요?

    > 그럼 어떤 클라이언트가 몇번인지 어떻게 알 수 있나요?

    > Connections[0].addr 으로 확인 한다고 하셨는데..조금만 구체적으로...설명해 주시면 고맙겠습니다.

    >

    > 오기주 wrote:

    >

    > > 클라이언트의 어드레스를 알아 내서 보내야 하는경우역시 Connections[0].addr 같은것

    > > 으로 확인후 보내면 되겠죠.

    > >

    > > 그럼 즐프 하시길.

    > >

    > >

    > > 물음이 wrote:

    > > > 특정 클라이언트한테만 메세지를 보내는 방법이 뭐에요?

    > > >

    > > > 서버소켓에 접속한 소켓의 핸들을 저장해 두면 서버가 원할때 원하는 클라이언트에게만 메세지를 보낼 수 있지 않는지요?

    > > >

    > > >