![]() |
Модераторы: Snowy, Poseidon, MetalFan |
![]() ![]() ![]() |
|
DelphiTester |
|
|||
Новичок Профиль Группа: Участник Сообщений: 24 Регистрация: 3.5.2007 Репутация: нет Всего: нет |
Не понял.. а можно поподробнее о чём Вы хоть хотели сказать? ![]() ![]() ![]() Можно пример кода? |
|||
|
||||
drkot |
|
|||
![]() Ищущий ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1042 Регистрация: 5.5.2006 Репутация: 0 Всего: 8 |
Под "точно также" понимается, что работа с udp практически такаяже как и с tcp
http://www.citforum.ru/internet/tifamily/udpspec.shtml -------------------- Ошибка не становится истиной по причине широкого распространения, как и Истина не становится Ошибкой из-за того, что никто её не видит. |
|||
|
||||
DelphiTester |
|
|||
Новичок Профиль Группа: Участник Сообщений: 24 Регистрация: 3.5.2007 Репутация: нет Всего: нет |
Но UDP использовать можно только в том случае, если не важно доходят данные или нет. А если важно?
![]() Приходится опять о TCP думать и опять-таки вопрос. А как проверить не отвалился ли текущий клиент? |
|||
|
||||
DelphiTester |
|
|||
Новичок Профиль Группа: Участник Сообщений: 24 Регистрация: 3.5.2007 Репутация: нет Всего: нет |
Кто-нибудь что-либо сможет подсказать? например, как сделать проверку активности текущего клиента? (через TCP ессно)
|
|||
|
||||
Snowy |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 11363 Регистрация: 13.10.2004 Где: Питер Репутация: 53 Всего: 484 |
У клиента же и спросить...
|
|||
|
||||
DelphiTester |
|
|||
Новичок Профиль Группа: Участник Сообщений: 24 Регистрация: 3.5.2007 Репутация: нет Всего: нет |
Дык как спросить-то?
![]() Вот здесь: "ServerSocket1.Socket.Connections[I].", я так и не смог найти как именно "спросить" клиента, активно ли именно с ним соединение в данный момент или нет.. |
|||
|
||||
DelphiTester |
|
|||
Новичок Профиль Группа: Участник Сообщений: 24 Регистрация: 3.5.2007 Репутация: нет Всего: нет |
Пробовал посылку модифицировать так:
результатов не дало. except ни в каком случае не срабатывает. (т.е. не при выключенных клиентах, ни при отключенных, всегда условие "успешности" выполняется... Как же в этом случае бороться с этой ерундой? |
|||
|
||||
AugMaster |
|
|||
Новичок Профиль Группа: Участник Сообщений: 49 Регистрация: 3.8.2006 Репутация: 1 Всего: 1 |
выложи ПОЛНЫЙ код серверной проги, и будет тебе щастье. Потому как сейчаз хитрый случай походу, и мы тут на кофейной гуще гадаем.
|
|||
|
||||
drkot |
|
|||
![]() Ищущий ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1042 Регистрация: 5.5.2006 Репутация: 0 Всего: 8 |
DelphiTester,
![]() Покупка билета еще не есть гарантия что попадеш на поезд (в театр и тд), но почемуто все покупают. Одного желания (даже если оно очень большое) мало для достижения цели. Нужно эще иметь хотябы отдаленное представление о том что именно ты хочеш сделать, а главное КАК? Ответы на вопрос КАК обычно есть в толстых умных книжках. Из твоих слов могу сделать вывод, что о сетевых протоколах ты практически ничего не знаеш, принципа работы не понимаеш, а работать пытаешся. Парадокс, однако ![]() Это сообщение отредактировал(а) drkot - 22.5.2007, 09:42 -------------------- Ошибка не становится истиной по причине широкого распространения, как и Истина не становится Ошибкой из-за того, что никто её не видит. |
|||
|
||||
DelphiTester |
|
|||
Новичок Профиль Группа: Участник Сообщений: 24 Регистрация: 3.5.2007 Репутация: нет Всего: нет |
Согласен.
Проблема разрешилась, косяк был на моей стороне, это никак не относится к сокетам. Добавлено через 2 минуты и 26 секунд Предлагаю переключиться на другую мою проблему ![]() http://forum.vingrad.ru/forum/topic-152421.html |
|||
|
||||
Gwire |
|
||||||||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 216 Регистрация: 7.8.2007 Где: Николаев Репутация: нет Всего: 4 |
![]() У TServerSocket есть такие события как: OnClientConnect; OnClientDisconnect; OnClientError. TCustomWinSocket имеет свойства SocketHandle: Integer. А также есть тип TList "хранящий" элементы типа Pointer. Замечу что SizeOf(Pointer) = SizeOf(Integer) ![]() Как это тебе поможет?..
Предположим, что клиент подключился...
Проходит время, клиент отключился...
А если клиента убило или разсоединило...
Как читать из ListClientTCP учить тебя не буду (просто Integer(ListClientTCP.Items[i]) ). Удачи. |
||||||||
|
|||||||||
AugMaster |
|
|||
Новичок Профиль Группа: Участник Сообщений: 49 Регистрация: 3.8.2006 Репутация: 1 Всего: 1 |
у меня прога на серверном сокете, кол-во соединений в среднем от 200 до 900. И глюка действительно имеет вид "OutBound"-чего-то там. Но смысл ее ловить, когда можно избежать этого,просто крутя цикл в обратную сторону ? Насчет таймаут- когда роутер глюкавит, таймаут может достигать больших величин,и при этом при отправке клиенту данных никаких эрроров тебе не пишет, просто данные уходят в никуда. Это сообщение отредактировал(а) AugMaster - 26.8.2007, 01:13 |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Delphi: Сети" | |
|
Запрещено: 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делится вскрытыми компонентами
Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Snowy, Poseidon, MetalFan. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Delphi: Сети | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |