Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Работа с сетью в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 25.11.2011, 16:58   #1
_-Re@l-_
C++, Java
Старожил
 
Аватар для _-Re@l-_
 
Регистрация: 10.04.2010
Сообщений: 2,665
Восклицание Проблема при соединении сервера и клиента

Т.е. как бы делаю всё как обычно : задаю одинаковый порт(допустим, 4123), далее в клиенте задаю IP, запускаю сервер, клиент. Однако клиент не коннектится. Когда повторяю подобный номер в локальной сети, всё работает. Почему так?
_-Re@l-_ вне форума Ответить с цитированием
Старый 26.11.2011, 04:10   #2
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

нет доступа?(например NAT)
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 26.11.2011, 18:37   #3
_-Re@l-_
C++, Java
Старожил
 
Аватар для _-Re@l-_
 
Регистрация: 10.04.2010
Сообщений: 2,665
По умолчанию

Ну как бы клиент получает ошибку asynchronous socket error 10600. Но вот что странно : буквально дня три назад соединение было. Сейчас - ни в какую.
_-Re@l-_ вне форума Ответить с цитированием
Старый 26.11.2011, 20:49   #4
Зод
Форумчанин
 
Регистрация: 25.08.2011
Сообщений: 140
По умолчанию

Насколько помню свои опыты то у меня данная ошибка возникала только при том когда установленно соединение а потом идет разрыв (например сбои в соединении)
Зод вне форума Ответить с цитированием
Старый 27.11.2011, 06:33   #5
_-Re@l-_
C++, Java
Старожил
 
Аватар для _-Re@l-_
 
Регистрация: 10.04.2010
Сообщений: 2,665
По умолчанию

Хорошо, тогда почему идёт разрыв?
_-Re@l-_ вне форума Ответить с цитированием
Старый 27.11.2011, 16:00   #6
Зод
Форумчанин
 
Регистрация: 25.08.2011
Сообщений: 140
По умолчанию

Это уже к провайдеру. Или к самому компьютеру. Попробуй задать для начала другой порт. Вдруг он используется( хотя там другая ошибка вроде должна быть)
В дисконект связки клиент-сервер пропиши обработку. Например условие если происходит дисконект тогда повторить подключение. И посмотри что будет. Обычно просто нужно обрабатывать такие ситуации.
У тебя она включается автоматически при запуске(всмысле коннектится) если да тогда лучше проверять наличие подключения перед запуском.
Вообщем напиши код который будет бороться с обрывом подключения, в большинстве случаев он помогает.
Зод вне форума Ответить с цитированием
Старый 27.11.2011, 17:16   #7
_-Re@l-_
C++, Java
Старожил
 
Аватар для _-Re@l-_
 
Регистрация: 10.04.2010
Сообщений: 2,665
По умолчанию

Цитата:
В дисконект связки клиент-сервер пропиши обработку. Например условие если происходит дисконект тогда повторить подключение. И посмотри что будет. Обычно просто нужно обрабатывать такие ситуации.
Неужто думаете, что не предусмотрел? Разумеется, всё это делается... Но результата не даёт.
_-Re@l-_ вне форума Ответить с цитированием
Старый 27.11.2011, 18:57   #8
Зод
Форумчанин
 
Регистрация: 25.08.2011
Сообщений: 140
По умолчанию

здесь как бы проблем может быть много. От операционки до фаерволла. Да мало ли что может убивать подключение. Лучше посмотрите что раньше было другого в системе на компьютере. Изменение реестра, внесение новых программ и т.д. это при условии что раньше действительно было подключение. Поскольку программы просто так не перестают работать, значит проблема все же в компьютере или сети. Лучше проверить компьютер а потом уже если что винить и материться на сеть.
А вообще ошибка чаще всего возникала при блокировке. Например стоит у меня Касперский он хитрым образом позволяет получать пакеты но запрещает передваать их. Вот и возникает ситуация что сервер получает информация а клиент отправляет и ни какой другой последовательности. Можно еще проверить на вирустотале программу. У меня простой клиент-сервер который передавал текст был обозначен как троян. Все может быть.
Зод вне форума Ответить с цитированием
Старый 28.11.2011, 16:50   #9
_-Re@l-_
C++, Java
Старожил
 
Аватар для _-Re@l-_
 
Регистрация: 10.04.2010
Сообщений: 2,665
По умолчанию

Заметил вот что. Если ServerSocket и ClientSocket расположены в одном окне, т.е. в одном процессе, то соединение выполняется. Если нет - то нет.
_-Re@l-_ вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
WinSock и насильственное убийство клиента/сервера Ksardas13 C/C++ Сетевое программирование 3 23.04.2011 08:14
Перехват ошибки при неудачном соединении padsyukin Работа с сетью в Delphi 4 23.12.2010 13:10
Большая буферизация при соединении Jacobson Работа с сетью в Delphi 2 10.11.2010 17:55
ЧАТЮ для клиента и сервера -HunteR- Работа с сетью в Delphi 27 18.04.2008 09:30