Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Интернет и сети
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

 
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 16.02.2011, 09:27
Аватар для Oleg
Oleg Oleg вне форума
Активный
 
Регистрация: 29.11.2007
Адрес: Оренбургская обл., Россия
Сообщения: 261
Репутация: 15
Восклицание вопрос по поводу ServerSocket и ClientSocket'ов

Здравствуйте, у меня такой вопрос:
я пишу приложение по типу клиенты<->сервер, использую компоненты TServerSocket и TClientSocket. Каждый клиент подсоединяется к серверу и присылает ему какие-то данные, структуры(небольшого объема, >100 байт), когда сервер получил данные от клиента, он их должен передать в точно таком же виде всем другим клиентам. Вопрос в том, а правильно ли я реализую это ?
P.S. ServerType:=stNonBlocking;
Вот как делаю я:
Код:
  procedure TForm1.OnClientRead(Sender: TObject; Socket: TCustomWinSocket);
 var
 Buf:Struct;
 i:integer;
 begin
  Socket.ReceiveBuf(Buf,SizeOf(Buf)); 
  for i := 0 to Server.Socket.ActiveConnections - 1 do
   if Server.Socket.Connections[i].RemoteAddress<> Socket.RemoteAddress then 
 Server.Socket.Connections[i].SendBuf(Buf,SizeOf(Buf));
end;
__________
Меня здесь волнует то, что если например одновременно придет несколько сообщений от разных клиентов правильно ли их обработает сервер и отошлет другим клиентам нужные сообщения, всё ли обработает, всё ли отошлет ?
Пойдет ли такая реализация клиентов/сервера или нужно как-то создавать потоки, что если от одного клиента пришло сообщение, то сервер отправляет это сообщение уже не из этой процедуры, а с другого потока ? И если это нужно именно так, то подскажите пожалуйста, как это должно выглядеть.
P.S. Клиентов много не рассчитывается, где-то в районе 2-10.
__________________
Если Вы находите ошибки, исправить которые дело долгое и нудное, ничего не делайте - просто внесите их в список особенностей
Ответить с цитированием
 


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 09:39.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter