Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.10.03;
Скачать: CL | DM;

Вниз

IdTCPClient&IdTCPServer VS ServerSocket&ClientSocket   Найти похожие ветки 

 
MetalFan ©   (2004-07-27 10:16) [0]

что лучше использовать? что надежнее работает?


 
Reindeer Moss Eater ©   (2004-07-27 10:21) [1]

Какой ряд кресел в самолете летит надежнее?
Левый или правый?


 
Digitman ©   (2004-07-27 10:24) [2]


> что лучше использовать?


это решать только тебе, все зависит от конкретного применения


> что надежнее работает?


оба набора компонентов используют протокол TCP/IP, так что вопрос о "надежности" компонентов сводится к вопросу о надежности протокола TCP/IP, а таковой вообще не ставится, ибо этот протокол специально разработан для обеспечения гарантированной доставки сообщений


 
MetalFan ©   (2004-07-27 10:32) [3]

хорошо) у меня с Indy такая проблема:
в примерах чата на основе Indy TCP Server/Client
если при подсоединненых клиентах попытаться остановить сервер, то вываливает ошибку: Project XXX raised exception class EIdSocketError with message "Socket Error #10038 Socket operation on non-socket..." не пойму из-за чего!


 
Reindeer Moss Eater ©   (2004-07-27 10:34) [4]

не пойму из-за чего!

Неужели до сих пор не понял?

Эта ошибка из за того, что :

если при подсоединненых клиентах попытаться остановить сервер


 
MetalFan ©   (2004-07-27 10:36) [5]

т.о. их надо сначала отключить?


 
Reindeer Moss Eater ©   (2004-07-27 10:37) [6]

Зачем?
Сервер волен остановиться когде ему захочется.


 
MetalFan ©   (2004-07-27 10:50) [7]

а что тогда с ошибкой делать? просто try..except?


 
Digitman ©   (2004-07-27 11:14) [8]


> MetalFan ©   (27.07.04 10:50) [7]
> а что тогда с ошибкой делать?


искать ее причину и устранять


 
Reindeer Moss Eater ©   (2004-07-27 11:17) [9]

а что тогда с ошибкой делать? просто try..except?

Надо просто понять, что исключения - это не досадные особенности микросхем из которых сделаны компьютеры.
Это (в данном случае) - средство помогающее разработчику компонента сообщить простым и дешевым способом пользователю компонента о том, что что-то произошло. В данном случае - закрытие TCP соединения.


 
MetalFan ©   (2004-07-27 11:32) [10]

попробую описать подробнее, может кто поможет:
есть IdTCPServer у него обработчики событий:

TServer.OnDisconnect(AThread: TIdPeerThread);
begin
 if assigned(FClients) then
   DoRefreshClients;
end;
...
TServer.OnExecute(AThread: TIdPeerThread);
var
FMess: string;
begin
 FMess := AThread.Connection.ReadLn("", 200); <=здесь выдает ошибку
 if (trim(FMess) <> "")
 begin
   DoBroadCastMessage(FMess + ": " +   AThread.Connection.Binding.PeerIP);    
 end;
end

при установке серверу Active:= false;
а указанном месте выдает вышеупомянутую ошибку и только потом попадает в OnDisconnect...


 
Reindeer Moss Eater ©   (2004-07-27 11:34) [11]

FMess := AThread.Connection.ReadLn("", 200); <=здесь выдает ошибку

И это по твоему неправильно?
А как по твоему правильно должно быть?
Сервер погасили, а он как ни в чем ни бывало продолжает выполнять ReadLn и может быть даже получает полезные данные от клиентов?
Так что ли?


 
MetalFan ©   (2004-07-27 11:52) [12]

что-то я совсем запутался! а какой модет быть выход из этой ситуации?


 
Digitman ©   (2004-07-27 12:02) [13]


> MetalFan ©   (27.07.04 11:52) [12]


в дан.ситуации одним из выходов и будет заключение ReadLn в блок try..except

Но ! ситуация-то прояснилась лишь ПОСЛЕ того, как ты привел КОНКРЕТНЫЙ код ! ... так стоило ли делать столько бесполезных постов ? да еще и бросать зерно сомнения в огород "надежности" компонентов ?


 
MetalFan ©   (2004-07-27 12:10) [14]

сорри за неверный подход к проблеме!
всем спасибо за помощь!



Страницы: 1 вся ветка

Текущий архив: 2004.10.03;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.03 c
3-1094639300
DBL
2004-09-08 14:28
2004.10.03
Импорт (добавление)


8-1087554408
NEEDHelp
2004-06-18 14:26
2004.10.03
Kak mozhno v Delphi narisovat zvuk iz mikrofona?


14-1095339796
Soft
2004-09-16 17:03
2004.10.03
Suicide.


4-1093619620
Sunny Way
2004-08-27 19:13
2004.10.03
Доступ к пикселам постороннего окна


3-1094212187
Aleksandr.
2004-09-03 15:49
2004.10.03
Отчего BatchMove создает файлы .val и чем их смотреть?