안녕하세요..초초보입니다.
서버에 연결 된 특정 클라언트에게 리스트박스의 내용을 보내야 하는데..
서버에 연결 된 클라이언트들 중에 IP를 이용하든 해서 정보를 보내야 하는데...
그 방법을 잘 모르겠습니다.
클라이언트에서 정보 가지고 오기를 클릭하면 서버에 있는 정보를 읽어 와야 하는데...
문제는 서버쪽에서 정보를 요청한 클라이언트를 찾아서 보내야 하는데..제 실력으로는...
ServerSocke.Socket.Connections[].SendTextl;
여기서 Connetions[]에 변수를 집어넣어서...
클라이언트가 접속한 순서별루 번호를 주고 그 번호는 리스트박스에 뿌렸다가 클라이언트 요청이 있거나 디스커넥트가 되면은 인덱스 값을 이용해서 해당하는 값을 지우면 될거 같은데..잘 안되네여 고수님들 꼭 좀 도와주세요~~
그리구 다른 한가지는 클라이언트에서 서버쪽에 정보를(클라이언트들의 IP어드레스)리스트박스에 입력해서 ListBox에서 선택하구 더블클릭해서 연결 하게끔 만들려구 하는데...이것 역시 잘 안됩니다.
고수님들의 도움을 기다립니다.
즐거운 하루 되시구여~~
> 안녕하세요..초초보입니다.
> 서버에 연결 된 특정 클라언트에게 리스트박스의 내용을 보내야 하는데..
> 서버에 연결 된 클라이언트들 중에 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;
그럼 행복하셔용~