Q&A

  • c/s프로그램 급합니다.
안녕하세요..초초보입니다.

서버에 연결 된 특정 클라언트에게 리스트박스의 내용을 보내야 하는데..

서버에 연결 된 클라이언트들 중에 IP를 이용하든 해서 정보를 보내야 하는데...

그 방법을 잘 모르겠습니다.



클라이언트에서 정보 가지고 오기를 클릭하면 서버에 있는 정보를 읽어 와야 하는데...

문제는 서버쪽에서 정보를 요청한 클라이언트를 찾아서 보내야 하는데..제 실력으로는...

ServerSocke.Socket.Connections[].SendTextl;

여기서 Connetions[]에 변수를 집어넣어서...

클라이언트가 접속한 순서별루 번호를 주고 그 번호는 리스트박스에 뿌렸다가 클라이언트 요청이 있거나 디스커넥트가 되면은 인덱스 값을 이용해서 해당하는 값을 지우면 될거 같은데..잘 안되네여 고수님들 꼭 좀 도와주세요~~



그리구 다른 한가지는 클라이언트에서 서버쪽에 정보를(클라이언트들의 IP어드레스)리스트박스에 입력해서 ListBox에서 선택하구 더블클릭해서 연결 하게끔 만들려구 하는데...이것 역시 잘 안됩니다.

고수님들의 도움을 기다립니다.



즐거운 하루 되시구여~~

1  COMMENTS
  • Profile
    조규춘 2000.10.20 12:11
    초초보 wrote:

    > 안녕하세요..초초보입니다.

    > 서버에 연결 된 특정 클라언트에게 리스트박스의 내용을 보내야 하는데..

    > 서버에 연결 된 클라이언트들 중에 IP를 이용하든 해서 정보를 보내야 하는데...

    > 그 방법을 잘 모르겠습니다.

    >

    > 클라이언트에서 정보 가지고 오기를 클릭하면 서버에 있는 정보를 읽어 와야 하는데...

    > 문제는 서버쪽에서 정보를 요청한 클라이언트를 찾아서 보내야 하는데..제 실력으로는...

    > ServerSocke.Socket.Connections[].SendTextl;

    > 여기서 Connetions[]에 변수를 집어넣어서...

    > 클라이언트가 접속한 순서별루 번호를 주고 그 번호는 리스트박스에 뿌렸다가 클라이언트 요청이 있거나 디스커넥트가 되면은 인덱스 값을 이용해서 해당하는 값을 지우면 될거 같은데..잘 안되네여 고수님들 꼭 좀 도와주세요~~

    >

    > 그리구 다른 한가지는 클라이언트에서 서버쪽에 정보를(클라이언트들의 IP어드레스)리스트박스에 입력해서 ListBox에서 선택하구 더블클릭해서 연결 하게끔 만들려구 하는데...이것 역시 잘 안됩니다.

    > 고수님들의 도움을 기다립니다.

    >

    > 즐거운 하루 되시구여~~





    안녕하셔요?



    델세상(http://www.freechal.com/delphiworld)의 조규춘입니다.



    아래의 소스는 sendtext 를 할때 모두에게 보낼건지 누군가에게만 보낼건지..

    하는 식으로 했던 나의 소스중의 일부입니다.

    RBOne,RBAll 은 라디오버튼이구요~~

    이해는 되시것지요?





    procedure TFrmServer.EdtcontentsKeyPress(Sender: TObject; var Key: Char);

    var

    i: integer; // 모두에게 보낼 때 반복해서 텍스트를 보낸다..

    oneID: string; // 누구 하나에게 보내는 메시지이다....

    begin

    if key = #13 then

    begin

    if RBAll.Checked = true then

    begin

    for i := 0 to ServerSocket.Socket.ActiveConnections - 1 do

    ServerSocket.Socket.Connections[i].SendText('context('+Edtcontents.Text +')');

    end

    else

    if RBOne.Checked = true then // 귓속말 기능처럼 누구 하나에게 만 글을 보내는 거당.....

    begin

    oneID := EdtOne.Text + '/';

    TCustomWinSocket(SocketList.Objects[SocketList.IndexOf(EdtOne.Text)]).SendText('wisper('+OneID+Edtcontents.Text+')');

    end;



    Edtcontents.SelectAll;

    end; // key #13



    end;



    그럼 행복하셔용~