제가 Rexec 프로토콜을 구현하려고했습니다.
그러나 접속은 잘되고 User ID, PassWd, Command를 ClientSocket에 넣기만하면.....
null값이 날라옵니다. 그리고는 접속이 종료가 되죠.............
미치겠습니다..
procedure TForm1.ShellStart;
begin
UserId:= 'aaaa';
Passwd:= 'aaaa'';
Command:= '/tool/test';
with ClientSocket do
begin
Address:= '100.170.10.420';
Port:= 512;
try
Active:= True;
except
ShowMessage('연결실패');
end;
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
ShellStart;
end;
procedure TForm1.ClientSocketRead(Sender: TObject;
Socket: TCustomWinSocket);
begin
ShowMessage('왔다');
Memo1.Lines.Add(inttostr(Socket.ReceiveLength));
end;
procedure TForm1.ClientSocketConnect(Sender: TObject;
Socket: TCustomWinSocket);
begin
with ClientSocket do
begin
Socket.SendText('' + #0);
Socket.SendText(UserId + #0);
Socket.SendText(Passwd + #0);
Socket.SendText(Command + #0);
end;
end;
procedure TForm1.ClientSocketDisconnect(Sender: TObject;
Socket: TCustomWinSocket);
begin
ShowMessage('짤렸네 -_-');
end;
이런식으로요.. 어딘가가 잘못된거 같은데.. 저로써는 도대체 모르겠습니다.
고수님들의 답변즘 부탁드립니다.