сокеты...
От: kondryuk  
Дата: 17.03.04 16:27
Оценка:
Это клиент — отправляет на сервер информационную строку, а вслед — файл


ClientSocket1.Socket.SendText('@i@'+'010025'+'@n@'+OpenDialog1.FileName+'@s@'+Size);
  sleep(3000);

  s := TWinSocketStream.Create(ClientSocket1.Socket, 60000);
  f := TFileStream.Create(OpenDialog1.FileName, fmShareDenyWrite);
   Try
    s.CopyFrom(f, 0);
   Except
....... и т.д.






Это сервер — принимает строку, разбирает её, а потом принимает файл:



command:=ClientSocket.ReceiveText;
sleep(2000);
......//разбор строки
While Not Terminated And ClientSocket.Connected Do
 Begin
  try
   SocketStream := TWinSocketStream.Create(ClientSocket, 60000);
   F := TFileStream.Create(save_dir+ExtractFileName(file_name), fmCreate);
    try
....... и т.д.






Вопрос вот в чём: Очень часто информационная строка на сервер не приходит,
А ПОЧЕМУ?
Re: сокеты...
От: Slicer [Mirkwood] Россия https://ru.linkedin.com/in/maksim-gumerov-039a701b
Дата: 18.03.04 15:32
Оценка:
Например — информационная строка воспринимается как часть посланного на предыдущей итерации файла и считывается при его чтении.

Slicer
Специалист — это варвар, невежество которого не всесторонне :)
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.