Цитата:
Сообщение от lmikle
... проще сваять маленький эхо сервер ...
|
На ниве "сетевого программирования" появились первые всходы: сваял не только сервер, но и клиента и вот такое:
Код:
procedure TServerForm.IdTCPServer1Execute(AContext: TIdContext);
var
msg:string;
begin
memo1.Clear;
while msg<>'exit' do
begin
//Принимаем от клиента строку
Try
msg := AContext.Connection.Socket.ReadLn(IndyTextEncoding_UTF8);
//Отвечаем
// AContext.Connection.Socket.WriteLn('Took the line: ' + msg);
Memo1.Lines.Add(AContext.Connection.Socket.Binding.PeerIP+'>'+msg+'<');
Except
on E: EIdException do
begin
Memo1.Lines.Add(AContext.Connection.Socket.Binding.PeerIP+': Connection error - ' + E.Message);
break;
end;
End;
end;
//Закрываем соединение с пользователем
// AContext.Connection.Disconnect;
end;
выдаёт следующий результат:
Код:
192.168.1.110>Edit1<
192.168.1.110>123<
192.168.1.110>any string or line<
но это - чат и это - не то, что сейчас нужно. И вообще: я правильно понимаю конструкцию: принтер - это сервер (слушает - чего печатать), а роутер - клиент (отправляет команды) и роутер - это сервер (слушает мои команды), а комп - клиент (отправляет запрос уровня чернил в картриджах)?