Текущий архив: 2004.04.04;
Скачать: CL | DM;
Вниз
Не удается отправить сообщение по протоколу TCP/IP Найти похожие ветки
← →
det_sim (2004-01-19 18:06) [0]Использую программы из примеров в папке Delphi, проверял NMMsg, запустил на двух компьютерах (на одном выделенная линия, на другом dial-up), пытаюсь послать сообщение со второй машины на первую, пишет connection failed, а наоборот отсылает!
Проверял Chat на сокетах, тоже самое, но когда связь установишь (получается можно только с одного компа это сделать), то тогда уже можно обмениваться сообщениями…
Проверял с другими машинами (оба dial-up), так все работает…
В примере с протоколом UDP тоже все прекрасно работает, а с TCP/IP вот такие проблемы!
Помогите пожалуйста, если есть хоть какие-нибудь мысли по этому поводу…
← →
Verg © (2004-01-19 18:17) [1]
> det_sim (19.01.04 18:06)
Не заставляй строить предположения.
А то ведь и 17-тую строку вспомнят.
Объясни что ты делал при эксперименте. По пунктам, последовательно.
Только не надо там всяких NMxxx. Давай без сумбура, про пример "Chat на сокетах".
← →
det_sim (2004-01-19 18:31) [2]Нет, думаю, если б я делал что-то не правильно то и UDP не работал тогда, та еще и на других машинах тоже не работало бы, вот смотрите, берем обычный Delphi-пример Msg (FastNet), запускаем на двух компьютерах, есть поле хост – вводим IP клиента, порт одинаковый для клиента и сервера, вводим имя, отправляем сообщение, и вот ошибка…
Если тоже самое только наоборот, отправлять сообщение с другой машины, на которую мы пытались в первом случае отправить message, тогда выходит!
С UDP проблем вообще нет…
Может дело в выделенке? Потому что, проверял на других машинах (оба dial-up) тоже проблем не было…
В принципе, мне и нужны предположения, просто даже не знаю в чем может быть дело…
← →
det_sim (2004-01-19 18:36) [3]Про чат на сокетах, там ведь смысл какой, сначала установить связь, а потом обмениваться сообщениями. Есть два компьютера A и B, берем B и посылаем запрос на соединение компу A, не выходит, а если послать запрос с A на B, тогда установит.
← →
det_sim (2004-01-19 18:43) [4]Какая разница между UDP и TCP/IP, принцип ведь один и тот же…не понимаю…
Я б использовал UDP, но он не гарантирует доставку пакета, хотя в IP тоже нет такой гарантии, но все же…
← →
Verg © (2004-01-19 18:47) [5]
> Может дело в выделенке?
Миллионы людей без проблем работают на выделенках. Не веришь? Думаешь хитрят? :)
> берем B и посылаем запрос на соединение компу A, не выходит,
> а если послать запрос с A на B, тогда установит.
Все же вынуждаешь на предположения:
1.На компьютере А успешно(ли?) запущен чат в режиме сервера на порту(каком? Свободен ли, не закрыт ли файером?)
2.На комп. В запущен чат в режиме клиента и при попытке соединиться на <IP адрес А>:<порт чата А> происходит ошибка "WSA Error: ??????"
← →
Verg © (2004-01-19 18:55) [6]
> Я б использовал UDP, но он не гарантирует доставку пакета,
> хотя в IP тоже нет такой гарантии, но все же…
Ни UDP ни тем более IP (соответственно UDP/IP) не гарантируют, а вот TCP/IP уже гарантирует и гарантирует немало.
← →
det_sim (2004-01-19 19:10) [7]
> Миллионы людей без проблем работают на выделенках. Не веришь?
> Думаешь хитрят? :)
Верю, сам же и работаю :)
1. Запущен, причем довольно успешно :) В режиме сервера? ну да, вообще, он как и клиент так и сервер (обычный стандартный пример из папки Delphi), порт разный ставил, все больше 1000, и он одинаковый что на той что на той машине...вообщем 6767 поставил, UDP-демка на нем работает же. Firewall убрал, все порты открыты, опять таки UDP работает ведь...
2. Тоже просто запущен, в этом примере (Internet/Chat), нет отдельных программ для сервера и клиента, там все в одной (два компонента), при попытке соединится на IP адрес A, тот же порт A, выходит ошибка connection failed.
Кошмар какой-то...
← →
det_sim (2004-01-19 19:14) [8]Выделенка такая, стоит сервер подключенный к выделенному каналу, а компьютер A подключен к этому серверу через сетевой кабель, получается два IP один в приделах локальной сети, другой под Интернет, в программе в поле хост ввожу естественно второй.
← →
det_sim (2004-01-19 19:15) [9]Комп B просто подключен через модем...
← →
Verg © (2004-01-20 10:44) [10]
> в этом примере (Internet/Chat), нет отдельных программ
> для сервера и клиента, там все в одной (два компонента),
>
Да, но режимы разные (Listen - Connect). На комп.А надо включить Listen, а на В connect. При этом проги на А и на В должны быть скомпилированы с одинаковыми номерами портов (порт не задается run-time)
← →
det_sim (2004-01-20 12:18) [11]
> Verg © (20.01.04 10:44) [10]
Про порт это понятно...
А по-моему ничего там не надо переключать, ведь на других компьютерах работает и без этого…
Посмотрим, но все равно это не меняет ничего, почему тогда Msg не работает?
Ну на крайний случай, все что требуется это ввести в поле Address (Host) IP-адрес, выставить одинаковый порт, и все должно работать, так?
Хотя блин, все же интересно ж в чем проблема…
← →
det_sim (2004-01-21 15:46) [12]Больше идей нет?
Страницы: 1 вся ветка
Текущий архив: 2004.04.04;
Скачать: CL | DM;
Память: 0.5 MB
Время: 0.021 c