procedure TFormClient.btn_OnClick(Sender: TObject); // 전원 on 하라
var
on_flag: widestring;
temp: string;
n: integer;
begin
temp := '2531504f575220310d';
for n := 0 to 8 do
begin
// 16x add Target-Mac-Adress / 16x die Ziel-Macadresse hinzufügen
on_flag := on_flag + Chr(StrToInt('$' + temp[1] + temp[2]));
Delete(temp, 1, 2);
end;
Memo1.Lines.Add(on_flag);
IdTCPClient1.IOHandler.WriteLn(on_flag);
end;
procedure TFormClient.btn_OffClick(Sender: TObject); // 전원 off 하라
var
on_flag: widestring;
temp: string;
n: integer;
begin
temp := '2531504f575220300d';
for n := 0 to 8 do
begin
// 16x add Target-Mac-Adress / 16x die Ziel-Macadresse hinzufügen
on_flag := on_flag + Chr(StrToInt('$' + temp[1] + temp[2]));
Delete(temp, 1, 2);
end;
Memo1.Lines.Add(on_flag);
IdTCPClient1.IOHandler.WriteLn(on_flag);
end;
procedure TFormClient.IdTCPClient1Connected(Sender: TObject); // 연결성공시 메시지 뿌려라
var
str: string;
begin
Memo1.Lines.Add('연결됨');
Thread := TMyThread.Create(IdTCPClient1, Self);
end;
질문
강길남
요즘 개인적으로 공부하는 프로젝터 전원 on/off 프로그램입니다.
15년전에 델파이로 erp 개발해보고 첨으로 집에 프로젝터를 온오프 해보고싶어서 연습하는데
실력이 없어서 안되네요.
서버에 연결은 잘 됩니다.
전원 on 하라 는 명령까지도 잘 됩니다.
몇 분 후 전원 off 하라는 btn_OffClick 실행시키면
connection closed gracefully 에러가 발생합니다.
도대체 이유를 모르겠습니다.
connection은 살아있는데 btn_OffClick 버튼을 클릭하여 connection closed gracefully 에러 가 발생합니다.
제가 tcp/ip에 대한 지식이 부족하다 보니 ㅠㅠ
고수님들의 조언을 부탁드립니다.
고맙습니다.
---------------------------------------------------------------
procedure TFormClient.btnConnectClick(Sender: TObject); // 서버에 연결해라
begin
IdTCPClient1.Host := '192.168.1.21';
IdTCPClient1.Port := 4352;
IdTCPClient1.Connect;
end;
procedure TFormClient.btn_OnClick(Sender: TObject); // 전원 on 하라
var
on_flag: widestring;
temp: string;
n: integer;
begin
temp := '2531504f575220310d';
for n := 0 to 8 do
begin
// 16x add Target-Mac-Adress / 16x die Ziel-Macadresse hinzufügen
on_flag := on_flag + Chr(StrToInt('$' + temp[1] + temp[2]));
Delete(temp, 1, 2);
end;
Memo1.Lines.Add(on_flag);
IdTCPClient1.IOHandler.WriteLn(on_flag);
end;
procedure TFormClient.btn_OffClick(Sender: TObject); // 전원 off 하라
var
on_flag: widestring;
temp: string;
n: integer;
begin
temp := '2531504f575220300d';
for n := 0 to 8 do
begin
// 16x add Target-Mac-Adress / 16x die Ziel-Macadresse hinzufügen
on_flag := on_flag + Chr(StrToInt('$' + temp[1] + temp[2]));
Delete(temp, 1, 2);
end;
Memo1.Lines.Add(on_flag);
IdTCPClient1.IOHandler.WriteLn(on_flag);
end;
procedure TFormClient.IdTCPClient1Connected(Sender: TObject); // 연결성공시 메시지 뿌려라
var
str: string;
begin
Memo1.Lines.Add('연결됨');
Thread := TMyThread.Create(IdTCPClient1, Self);
end;
이 댓글 링크
다른 사이트에 공유하기
2 answers to this question
Recommended Posts
이 토의에 참여하세요
지금 바로 의견을 남길 수 있습니다. 그리고 나서 가입해도 됩니다. 이미 회원이라면, 지금 로그인하고 본인 계정으로 의견을 남기세요.