|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
11.01.2011, 10:50 | #1 |
Игрок
Форумчанин
Регистрация: 29.10.2006
Сообщений: 367
|
Не останавливается на recvfrom
Приветствую всех. В общем то вопрос в теме. Почему не останавливается не получении данных из сокета? Вот код, из которого выкинуто все, что только можно.
Код:
Жизнь всегда игра. Но смерть - не всегда поражение.
#define true (Math.random()>0.5) //Удачной отладки Последний раз редактировалось Gambler; 11.01.2011 в 10:52. |
11.01.2011, 11:19 | #2 |
Старожил
Регистрация: 03.01.2011
Сообщений: 2,508
|
А биндить сокет кто будет? Или он, по-твоему, должен как папа карло висеть на всех портах сразу? )
"Когда приходит положенное время, человек перестаёт играть в пинбол. Только и всего."
|
11.01.2011, 11:22 | #3 |
Игрок
Форумчанин
Регистрация: 29.10.2006
Сообщений: 367
|
Это UDP клиент. на сколько я знаю его не надо с адресом вязать.
Жизнь всегда игра. Но смерть - не всегда поражение.
#define true (Math.random()>0.5) //Удачной отладки |
11.01.2011, 11:29 | #4 |
Старожил
Регистрация: 03.01.2011
Сообщений: 2,508
|
А ты проверь )
Код:
И да, в UDP нет клиентов и серверов. Все сокеты равны )
"Когда приходит положенное время, человек перестаёт играть в пинбол. Только и всего."
Последний раз редактировалось veniside; 11.01.2011 в 11:36. |
11.01.2011, 11:35 | #5 |
Игрок
Форумчанин
Регистрация: 29.10.2006
Сообщений: 367
|
Спасибо! Ты был прав. Просто раньше всегда перед получение что то отправлял и знать не знал, что этим связываю сокет с адресом.
Жизнь всегда игра. Но смерть - не всегда поражение.
#define true (Math.random()>0.5) //Удачной отладки |
11.01.2011, 11:41 | #6 |
Старожил
Регистрация: 03.01.2011
Сообщений: 2,508
|
А от кого он тогда по-твоему отправлял пакет? ) В каждом пакете есть IP и PORT как получателя, так и отправителя. Вот чтобы заполнить данные отправителя, сокет и биндится при посылки первого пакета, справедливо считая, что если ты его явно не забиндил, то тебе пофиг, с какого интерфейса и порта он уйдёт.
"Когда приходит положенное время, человек перестаёт играть в пинбол. Только и всего."
|
11.01.2011, 13:02 | #7 | |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
Цитата:
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
|
11.01.2011, 13:10 | #8 |
Старожил
Регистрация: 03.01.2011
Сообщений: 2,508
|
Т.е. поля FROM_IP и FROM_PORT в пакете заполняются значениями ПОФИГ_РАЗНИЦЫ_НЕТ? ) Если бы разницы не было, принимающая сторона никогда не узнала бы, от кого пришёл пакет, и, соответственно, никогда не смогла бы на него ответить. Другое дело, что разработчику бывает действительно без разницы, куда там реально прибиндится отправляющий сокет, тут спору нет.
"Когда приходит положенное время, человек перестаёт играть в пинбол. Только и всего."
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Посмотрите в чём ошибка процедуры PrintFile. Программа останавливается. | Антон Лысенко | Помощь студентам | 11 | 26.12.2010 21:07 |
Останавливается макрос | gregory1b | Microsoft Office Excel | 3 | 18.11.2010 12:35 |
задача в паскаль по файлам; не останавливается цикл | loveis_myname | Помощь студентам | 2 | 28.12.2009 20:48 |
RecvFrom ошибка | Zeraim | Работа с сетью в Delphi | 5 | 25.12.2009 01:48 |
Процедура останавливается на idhttp1.get('') | Des | Компоненты Delphi | 0 | 18.05.2009 19:05 |