Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Не удается отправить сообщение по протоколу TCP/IP


det_sim ©   (2004-01-19 18:06:00) 

Использую программы из примеров в папке Delphi, проверял NMMsg, запустил на двух компьютерах (на одном выделенная линия, на другом dial-up), пытаюсь послать сообщение со второй машины на первую, пишет connection failed, а наоборот отсылает!
Проверял Chat на сокетах, тоже самое, но когда связь установишь (получается можно только с одного компа это сделать), то тогда уже можно обмениваться сообщениями…
Проверял с другими машинами (оба dial-up), так все работает…
В примере с протоколом UDP тоже все прекрасно работает, а с TCP/IP вот такие проблемы!

Помогите пожалуйста, если есть хоть какие-нибудь мысли по этому поводу…


det_sim   (2004-01-21 15:46:00) [1]

Больше идей нет?


det_sim   (2004-01-20 12:18:00) [2]


> Verg ©   (20.01.04 10:44) [10]

Про порт это понятно...

А по-моему ничего там не надо переключать, ведь на других компьютерах работает и без этого…
Посмотрим, но все равно это не меняет ничего, почему тогда Msg не работает?

Ну на крайний случай, все что требуется это ввести в поле Address (Host) IP-адрес, выставить одинаковый порт, и все должно работать, так?

Хотя блин, все же интересно ж в чем проблема…


Verg   (2004-01-20 10:44:00) [3]


>  в этом примере (Internet/Chat), нет отдельных программ
> для сервера и клиента, там все в одной (два компонента),
>


Да, но режимы разные (Listen - Connect). На комп.А надо включить Listen, а на В connect. При этом проги на А и на В должны быть скомпилированы с одинаковыми номерами портов (порт не задается run-time)


det_sim   (2004-01-19 19:15:00) [4]

Комп B просто подключен через модем...


det_sim   (2004-01-19 19:14:00) [5]

Выделенка такая, стоит сервер подключенный к выделенному каналу, а компьютер A подключен к этому серверу через сетевой кабель, получается два IP один в приделах локальной сети, другой под Интернет, в программе в поле хост ввожу естественно второй.


det_sim   (2004-01-19 19:10:00) [6]


> Миллионы людей без проблем работают на выделенках. Не веришь?
> Думаешь хитрят? :)

Верю, сам же и работаю :)

1. Запущен, причем довольно успешно :) В режиме сервера? ну да, вообще, он как и клиент так и сервер (обычный стандартный пример из папки Delphi), порт разный ставил, все больше 1000, и он одинаковый что на той что на той машине...вообщем 6767 поставил, UDP-демка на нем работает же. Firewall убрал, все порты открыты, опять таки UDP работает ведь...

2. Тоже просто запущен, в этом примере (Internet/Chat), нет отдельных программ для сервера и клиента, там все в одной (два компонента), при попытке соединится на IP адрес A, тот же порт A, выходит ошибка connection failed.

Кошмар какой-то...


Verg   (2004-01-19 18:55:00) [7]


> Я б использовал UDP, но он не гарантирует доставку пакета,
> хотя в IP тоже нет такой гарантии, но все же…


Ни UDP ни тем более IP (соответственно UDP/IP) не гарантируют, а вот TCP/IP уже гарантирует и гарантирует немало.


Verg   (2004-01-19 18:47:00) [8]


> Может дело в выделенке?


Миллионы людей без проблем работают на выделенках. Не веришь? Думаешь хитрят? :)


> берем B и посылаем запрос на соединение компу A, не выходит,
> а если послать запрос с A на B, тогда установит.


Все же вынуждаешь на предположения:

1.На компьютере А успешно(ли?) запущен чат в режиме сервера на порту(каком? Свободен ли, не закрыт ли файером?)
2.На комп. В запущен чат в режиме клиента и при попытке соединиться на <IP адрес А>:<порт чата А> происходит ошибка "WSA Error: ??????"


det_sim   (2004-01-19 18:43:00) [9]

Какая разница между UDP и TCP/IP, принцип ведь один и тот же…не понимаю…

Я б использовал UDP, но он не гарантирует доставку пакета, хотя в IP тоже нет такой гарантии, но все же…


det_sim   (2004-01-19 18:36:00) [10]

Про чат на сокетах, там ведь смысл какой, сначала установить связь, а потом обмениваться сообщениями. Есть два компьютера A и B, берем B и посылаем запрос на соединение компу A, не выходит, а если послать запрос с A на B, тогда установит.


det_sim   (2004-01-19 18:31:00) [11]

Нет, думаю, если б я делал что-то не правильно то и UDP не работал тогда, та еще и на других машинах тоже не работало бы, вот смотрите, берем обычный Delphi-пример Msg (FastNet), запускаем на двух компьютерах, есть поле хост – вводим IP клиента, порт одинаковый для клиента и сервера, вводим имя, отправляем сообщение, и вот ошибка…
Если тоже самое только наоборот, отправлять сообщение с другой машины, на которую мы пытались в первом случае отправить message, тогда выходит!

С UDP проблем вообще нет…

Может дело в выделенке? Потому что, проверял на других машинах (оба dial-up) тоже проблем не было…

В принципе, мне и нужны предположения, просто даже не знаю в чем может быть дело…


Verg   (2004-01-19 18:17:00) [12]


> det_sim   (19.01.04 18:06)  


Не заставляй строить предположения.
А то ведь и 17-тую строку вспомнят.
Объясни что ты делал при эксперименте. По пунктам, последовательно.
Только не надо там всяких NMxxx. Давай без сумбура, про пример "Chat на сокетах".


Наверх

Титульная страница Поиск, карта сайта Написать письмо