몇번째 Client 가 보낸것이지 보다 어떤 Client가 보낸것이지
판단해야 더 정확합니다..
만약 클라이언트가 서버에게 메세지를 보냈다면 아래와 같이 서버소켓의
이벤트에 메세지를 보낸 클라이언트의 ip를 알수 있습니다
procedure TServerComm._OnClientRead(Sender: TObject; Socket: TCustomWinSocket);
var
_Message : String;
IpAddress : String;
begin
_Message := Socket.ReceiveText; {데이터 수신}
IpAddress := Socket.RemoteAddress; {리모트 클라이언트의 Ip주소저장}
.
.
.
그러면, 여러명이 서버에 접속된 상태에서 특정 클라이언트를 찾으려면
아래와 같이 하면 됩니다.
var
num : Integer;
begin
for num := 0 to ServerSocket.Socket.ActiveConnections -1 do
if ServerSocket.Socket.Connections[num].RemoteAddress = IpAddress then
{ To Do } shomessage('빙고');
판단해야 더 정확합니다..
만약 클라이언트가 서버에게 메세지를 보냈다면 아래와 같이 서버소켓의
이벤트에 메세지를 보낸 클라이언트의 ip를 알수 있습니다
procedure TServerComm._OnClientRead(Sender: TObject; Socket: TCustomWinSocket);
var
_Message : String;
IpAddress : String;
begin
_Message := Socket.ReceiveText; {데이터 수신}
IpAddress := Socket.RemoteAddress; {리모트 클라이언트의 Ip주소저장}
.
.
.
그러면, 여러명이 서버에 접속된 상태에서 특정 클라이언트를 찾으려면
아래와 같이 하면 됩니다.
var
num : Integer;
begin
for num := 0 to ServerSocket.Socket.ActiveConnections -1 do
if ServerSocket.Socket.Connections[num].RemoteAddress = IpAddress then
{ To Do } shomessage('빙고');
from neosiz.com