Показать сообщение отдельно
Старый 05.11.2013, 23:45   #23
Gonzo
Оператор ЭВМ
 
Аватар для Gonzo
 
Регистрация: 12.01.2011
Адрес: Воронеж
Сообщений: 32
Написано одно полезное сообщение
Ответ: Lib_binsock: прием/отправка бинарных данных через сокет

Я пока использую такую обертку:
function ReadData(DataLength: Integer): String;
//прием строки
var 
	l: Integer;
	s, tmp: String;
begin
  l := DataLength;
  s := '';
  while l > 0 do
  begin
		tmp := binsock.read_bin(l);
		if tmp = '' then
		begin
			s := 'ERROR';
			Break;
		end;
		s := s + tmp;
		l := binsock.available;
		if l = -1 then
		begin
			s := 'ERROR';
			Break;
		end;
  end;
  ReadData := s;
end;
Но я никогда и не вызываю чтение данных с DataLength = 0.
Может так и сделать? - в случае ошибки возвращать пустую строку и ввести запрет на вызов чтения данных нулевой длины?
__________________
На западном фронте без перемен...
(Offline)
 
Ответить с цитированием