한 프로시져 안에서 소켓을 열고 전송하는 방법 좀....왕초보라 쉽게...
클라이언트 소켓에 IP와 PORT를 설정하고 Open(Active=True)한 직후
SendText(...)를 사용하면 문자가 안보내 져요...
델파이 데모에 Chat프로그램처럼 Ative=True하고나서...
폼을 모달로 띄운뒤 SendText(...)하면 정상적으로 전송이 되는군요.
그러나 아래 소스처럼 폼을 모달로 띄우지 않고 사용하고자 합니다.
CltSocket:= TClientSocket.Create(self);
CltSocket.Address := SERVER_1_IP;
CltSocket.Port := SERVER_PORT;
CltSocket.Active := True;
CltSocket.Socket.SendText('test 1');
CltSocket.Active := False;
// 이런식으로 리스트에 등록된 여러 IP가 있다면 루프를 돌면서
// 각각 문자열을 전송 합니다
CltSocket.Address := SERVER_2_IP;
CltSocket.Port := SERVER_PORT;
CltSocket.Active := True;
CltSocket.Socket.SendText('test 2');
CltSocket.Active := False;
CltSocket.Free;
고수님들의 답변/조언 부탁합니다.
> 한 프로시져 안에서 소켓을 열고 전송하는 방법 좀....왕초보라 쉽게...
>
> 클라이언트 소켓에 IP와 PORT를 설정하고 Open(Active=True)한 직후
> SendText(...)를 사용하면 문자가 안보내 져요...
> 델파이 데모에 Chat프로그램처럼 Ative=True하고나서...
> 폼을 모달로 띄운뒤 SendText(...)하면 정상적으로 전송이 되는군요.
> 그러나 아래 소스처럼 폼을 모달로 띄우지 않고 사용하고자 합니다.
>
>
> CltSocket:= TClientSocket.Create(self);
>
> CltSocket.Address := SERVER_1_IP;
> CltSocket.Port := SERVER_PORT;
> CltSocket.Active := True;
> CltSocket.Socket.SendText('test 1');
> CltSocket.Active := False;
> // 이런식으로 리스트에 등록된 여러 IP가 있다면 루프를 돌면서
> // 각각 문자열을 전송 합니다
>
> CltSocket.Address := SERVER_2_IP;
> CltSocket.Port := SERVER_PORT;
> CltSocket.Active := True;
> CltSocket.Socket.SendText('test 2');
> CltSocket.Active := False;
>
> CltSocket.Free;
>
> 고수님들의 답변/조언 부탁합니다.
SendText이전에서
Application.ProcessMessages;
를 넣으시기 바랍니다. 이유나 단점은.. 질문받지 않습니다.. -_-;