Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Sockets [D5, NT4, Win2k]


Akni ©   (2002-08-27 22:53:00) 

Привет всем!

У меня возникло несколько вопросов по компонентам TclientSocket, TserverSocket. Может, кто-то подскажет какие-то идеи.

Вопросы следующие:
1. приходят ли данные от клиента к серверу в такой же последовательности, как они ушли с клиента, т.е. если на клиенте сделать
ClientSocket1.SendBuf(Buf1, SizeOf(Buf1))
ClientSocket1.SendBuf(Buf2, SizeOf(Buf2)),


то получит ли сервер сначала Buf1, а потом Buf2, или может прийти сначала Buf2, а потом Buf1?

2. Как с помощью блокирующего сокета отправить данные какому-то опредеденному клиенту?
С неблок. сокетом это можно сделать приблизит. так:

procedure Form1.Button1Click(Sender: Tobject);
begin
ServerSocket1.Socket.Connections[i].SendBuf(Buf,SizeOf(Buf));
end;

А как это реализовать для блок. сокета?


Ketmar   (2002-08-28 14:26:00) [1]

хм. естественно. я неточно выразился. имелось в виду, что TCP пришлет все в том же порядке, в каком отправлялось. а UDP, в виду своей "непотоковости" и "бесконтрольности" :-) может и потерять пакетик по дороге. или же позже посланный пакет может прийти ранее посланного перед ним.

Satanas Nobiscum! 28-Aug-XXXVII A.S.


Malder   (2002-08-28 13:16:00) [2]

Ну UDP тоже байтики не перепутает между прочим...


Ketmar   (2002-08-28 09:35:00) [3]

скажем даже так: ПОРЯДОК байтов не перепутается (т.е. First In-First Out), но не обязательно прийдет сразе то же самое кол-во байтов, что было послано. TCP/IP - потоково-ориентированный протокол. т.е. байтики он не перепутает (в отличие от UDP, хотя и у UDP такое поведение маловероятно. однако возможно).

Satanas Nobiscum! 28-Aug-XXXVII A.S.


Reindeer Moss Eater   (2002-08-28 08:02:00) [4]

Точнее так: на уровне приложения сервер всегда примет сначала Buff1, а потом Buf2


Reindeer Moss Eater   (2002-08-28 07:59:00) [5]

1. Совсем не обязательно. Но задумываться над этим не стоит. Это не твои проблемы.
2. Точно так же


Наверх

Титульная страница Поиск, карта сайта Написать письмо