|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
26.12.2016, 19:03 | #1 |
Пользователь
Регистрация: 04.10.2016
Сообщений: 76
|
багаеться ServerSocket1
У меня на событие ServerSocket1ClientConnect стоит такой код:
Код:
265.11.225.78 265.11.225.78 265.11.225.78 265.11.225.78 265.11.225.78 То есть по идее подключается 1 ip и 1 раз. А сервер почему то думает что этот ip подключается множество раз. И да из тех ip что подключились рабочий только 1. Я пробовал отсылать сообщение на эти ip но рабочий ip на который отсылались сообщения был только 1. |
27.12.2016, 12:30 | #2 | |
Форумчанин
Регистрация: 27.04.2012
Сообщений: 219
|
Цитата:
1. При запуске серверной части и отключенной клиентской кол-во подключений сколько? 2. Все 5 коннектов появляются сразу при старте клиентской части? 3. ПРи событии OnDisconect переписываете ListBox1?
Пишу много и развернуто
Последний раз редактировалось Heneken87; 27.12.2016 в 12:48. |
|
27.12.2016, 13:50 | #3 |
Пользователь
Регистрация: 04.10.2016
Сообщений: 76
|
1. Когда сервер запущен, а клиентская часть отключенная то подключений 0.
2. Нет. Все 5 коннектов появляются постепенно. Но быстро. 3. Переписываю. У меня на дисконект такой же код как и на коннект Код:
Последний раз редактировалось Legeardo; 27.12.2016 в 13:54. |
27.12.2016, 13:52 | #4 |
Пользователь
Регистрация: 04.10.2016
Сообщений: 76
|
Ну правда пришлось поместить этот код в таймер с интервалом 1 с. и запускать при дисконекте. Если просто вставить этот код в событие дисконект то работает не корректно
|
27.12.2016, 14:09 | #5 |
Форумчанин
Регистрация: 27.04.2012
Сообщений: 219
|
Как вариант проблему с задвоением можно решить так
Код:
P/S/ У меня была подобная ситуация,только на INdy. При разрыве соеденения (вытащить LAN кабель. Блок от фаервола) не работал корректно дисконект,точнее вообще не отрабатывал. Проблему решил временами опрашивая клиентов со стороны сервера. Список активных подключений вел в отдельном массиве.Коннект добавлял запись в массив,дисконект удалял из массива. Опрос с стороны сервера подчищал массив на случай если кто-то отпал нештатным образом
Пишу много и развернуто
Последний раз редактировалось Heneken87; 27.12.2016 в 14:54. |
27.12.2016, 16:17 | #6 |
Форумчанин
Регистрация: 17.08.2009
Сообщений: 139
|
Писал чат на сокетах, никаких граблей по ходу дела не встречал, с коннектами тоже все было прозрачно. Возможно ваш товарищ запускает несколько копий клиента? Попробуйте при коннекте передавать из клиента строку авторизации и рубить если такой коннект уже есть, само собой с записью в лог. Или запретить повторный запуск клиента. Или идентифицируйте подключения своего клиента, чтобы знать он к вам стучится или вирусня с ПК товарища.
|
27.12.2016, 18:46 | #7 |
Пользователь
Регистрация: 04.10.2016
Сообщений: 76
|
Так а как быть если не рабочий ip подключился и уже рабочий ip подключиться не сможет. Ну это если использовать такой код
Код:
|
27.12.2016, 18:51 | #8 |
Форумчанин
Регистрация: 17.08.2009
Сообщений: 139
|
Не рабочий IP (любой левый коннект) не передаст вам строку авторизации которую передает клиент, соответственно вы его обрубите.
|
27.12.2016, 19:18 | #9 |
Пользователь
Регистрация: 04.10.2016
Сообщений: 76
|
Все. Я понял о чем вы))
|
27.12.2016, 23:37 | #10 |
Пользователь
Регистрация: 04.10.2016
Сообщений: 76
|
С коннектом понятно. А как определить отключился рабочий ip или не рабочий? У меня ip которые прислали строку с инфой о себе заносятся в листбокс. В листбокс помещается ip клиента. Так вот когда отключается не рабочий ip то с листбокса удаляется рабочий. У меня на дисконнекте проверяется что если ip отлюченного клиента совпадает с ip в листбоксе то ip удаляется с листбокса. Вот как то так
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Диалоговое окно ServerSocket1 | aank10 | C++ Builder | 7 | 12.04.2012 13:59 |
ServerSocket1.Open; и ServerSocket1.Active := True; | Shouldercannon | Общие вопросы Delphi | 1 | 21.04.2011 16:43 |
ServerSocket1 ClientSocket1 | blackstersl | Общие вопросы Delphi | 4 | 18.09.2008 11:06 |
ClientSocket1 и ServerSocket1 | Stanislav | Работа с сетью в Delphi | 14 | 14.01.2008 03:31 |