Люди помогите решить вот такую проблему:
написана программа(FreeBSD) которая сидит на порту и ждет соединения. После соединения клиент (из Windows) посылает команду, например shutdown, но на сервер приходит ".shutdown" где точка это служебный символ какой то, естественно сервер на команду не срабатывает и либо виснет, либо совсем не реагирует. Как бы сделать так чтобы строка приходила без служебного символа? Я понимаю вопрос может и глупый, но я уже все перепробовал...
Исходник клиента(Delphi 7):
procedure TForm1.ShutButtonClick(Sender: TObject);
var
cmd: string[9];
i,V:integer;
begin
i:=0;
WSAStartup(MAKEWORD(2,0), initsocket);
addr.sin_family := PF_INET;
addr.sin_addr := lookupname;
addr.sin_port := htons(1500);
soket:=socket(PF_INET,SOCK_STREAM, IPPROTO_IP);
i:=connect(soket,@addr,sizeof(addr));
if i=0 then
begin
Application.ProcessMessages;
cmd:='shutdown';
send(soket,cmd,9,0);
closesocket(soket);
end
else ShowMessage('Error.');
end;
|