Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Сети";
Текущий архив: 2002.12.16;
Скачать: [xml.tar.bz2];

Вниз

глюки с ActiveConnections   Найти похожие ветки 

 
izhalex   (2002-10-12 12:05) [0]

Подскажите люди может я где глючу или что ...
Включаю приложение с ServerSocket
Коннекчусь к нему с других компов ClientSocket"ами
например если коннект был с двумя ClientSocket"ами, то ServerSocket.Socket.ActiveConnections может быть и 3 и даже 4 :(
как будто по рандому
подскажите плз в чем глюк


 
Malder   (2002-10-14 00:27) [1]

сделай так...

ServerSocket.Connect(...);
Begin
Label1.caption:=inttostr(ServerSocket.socket.activeconnections);
end;
...
ServerSocket.Disconnect(...);
Begin
Label1.caption:=inttostr(ServerSocket.socket.activeconnections);
end;


Ты будешь сразу видеть, когда изменяется ActiveConnections.

Если в начале он не будет равен нулю, если сразу меняется больше, чем на единицу - то это глюк ServerSocket (это вряд ли).

Далее посмотри. После диконекта клиентов ActiveConnections уменьшается ?


 
izhalex   (2002-10-14 12:30) [2]

Делал я такое ...
чаще всего activeconnections при присоединении 1 клиента увеличивается на 1, но иногда и на 2 :( а после дисконнекта всегда тока на 1.(в начале activeconnections=0)
дело в том что клиентами я постоянно (по таймеру) опрашиваю наличие сервера(т.е. для теста беру ситуацию, когда клиент включен, а сервак нет). дак вот, ежели ставлю малое время опроса на клиенте(порядка 1 сек) то возникает та самая трабла при включении сервака, а ежели 5 сек - то вроде бы нет ...


 
izhalex   (2002-10-14 12:32) [3]

входит в процедуру ServerSocket1ClientRead 1 раз, а activeconnections сразу на 2 ...


 
Digitman   (2002-10-14 13:24) [4]

>izhalex

Событие ClientRead здесь ни при чем.


Если АctiveСonnections = 2 , это говорит только об одном - за все время данного сеанса активности сервера на клиентской стороне кол-во успешных коннектов было на два больше, чем кол-во успешных же дисконнектов.


 
izhalex   (2002-10-15 15:26) [5]

ну енто и колючему ясно
а вот как бороть сию ситуацию - другой вопрос :-|


 
Digitman   (2002-10-16 09:09) [6]

А зачем ее "бороть" ? Просто проконтролируй происходящее в своем собственном сч-ке активных коннектов :

- на стороне сервера :
в событии OnClientConnect() - Inc(Счетчик)
в событии OnClientDisconnect() - Dec(Счетчик)

- на стороне клиента :
в событии OnConnect() - Inc(Счетчик)
в событии OnDisconnect() - Dec(Счетчик)


 
izhalex   (2002-10-22 08:48) [7]

ну activeconnections это еще полбеды. но вот что делать с сокетами лишними у серверсокета - это уже вопрос. ведь они тоже по 2 создаются :( или удалять один лишний ?


 
Digitman   (2002-10-22 08:55) [8]

Как это "по 2 создаются" ? Сами по себе ?? Да ну не бывает чудес !!

Еще раз спрашиваю :

1. сколько всего экземпляров TClientSocket (потенциальных клиентов) существует на момент тестирования ?
2. сколько раз у каждого из клиентов возникло событие OnConnect и OnDisconnect (как ответная реакция на Open и Close) ?
3. сколько раз у сервера возникло событие OnClientConnect и OnClientDisconnect ?



 
izhalex   (2002-10-22 09:10) [9]

попробую поподробнее
допустим у меня в сетке n клиентов все ждут соединения с серваком, который пока вырублен. начинаю трасерить серверную программу, захожу в ServerSocket1ClientRead ПЕРВЫЙ раз, сразу после формкреейта (первый ответ от ПЕРВОГО же клиента). Смотрю на значение ActiveConnections, а оно уже ДВА ! вот и все чудеса :(((((((( и OnClientDisconnect еще ни разу


 
Digitman   (2002-10-22 09:51) [10]


> начинаю трасерить


Не знаю уж, что ты там и как "трасеришь", но OnClientRead() возникает ПОСЛЕ OnClientConnect().

Ты не выдумывай, а подсчитай, СКОЛЬКО РАЗ на стороне сервера возникло событие OnClientConnect и сравни полученное значение с состоянием св-ва ActiveConnections



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

Форум: "Сети";
Текущий архив: 2002.12.16;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.007 c
3-51565
dimonka
2002-11-26 23:14
2002.12.16
FastReport


1-51708
Tundra
2002-12-06 06:56
2002.12.16
Вопрос по Паскалю. Перебор эл-ов множества.


1-51765
Андрей Драница
2002-12-04 13:54
2002.12.16
Поддержка .Net в Delphi 7


1-51682
avsh
2002-12-05 18:57
2002.12.16
TImage


3-51576
zloypunk
2002-11-27 12:28
2002.12.16
Открытие текстового файла как таблицы





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский