|
Связь по Ethernet средствами Delphi |
|
|
3 страниц
1 2 3 >
|
 |
Ответов
(1 - 32)
|
Jan 19 2009, 14:22
|

Участник

Группа: Свой
Сообщений: 74
Регистрация: 9-01-07
Из: Украина
Пользователь №: 24 228

|
Цитата(011119xx @ Jan 19 2009, 14:46)  Кто знает как легко и непринужденно связать 2 компа по Ethernet средствами Delphi? Необходима передача информации в обоих направлениях. Хорошо бы заиметь проект с исходным кодом. Добрейшее время суток.  Связать можно два компа по Ethernet можно при помощи "Сокетов": 1. Есть компоненты INDY, которыми можно это зделать (если по TCP то на одной стороне ставите Server, на другой Client. Если UDP то фожно на обоих сторонах ставить Server). 2. Есть есще в закладках Internet тоже два компонентика Client и Server, аналогично на одной стороне сервер с другой клиент .... 3. Либо найти в Инете библиотеку для работы с сокетами ..... Но если Вы новичок в этой области, то дешевле всего при помощи Компонентов ..... С Уважением, Владимир. и Удачи Вам во всех Ваших начинаниях P.S. Во вложении примеры из Инета по UDP обмену
Прикрепленные файлы
Temp.rar ( 391.95 килобайт )
Кол-во скачиваний: 39
|
|
|
|
|
Jan 21 2009, 06:01
|

Местный
  
Группа: Свой
Сообщений: 381
Регистрация: 5-07-05
Из: Уфа
Пользователь №: 6 544

|
Цитата(Vladimir_J @ Jan 19 2009, 19:22)  Добрейшее время суток.  Связать можно два компа по Ethernet можно при помощи "Сокетов": 1. Есть компоненты INDY, которыми можно это зделать (если по TCP то на одной стороне ставите Server, на другой Client. Если UDP то фожно на обоих сторонах ставить Server). 2. Есть есще в закладках Internet тоже два компонентика Client и Server, аналогично на одной стороне сервер с другой клиент .... 3. Либо найти в Инете библиотеку для работы с сокетами ..... Но если Вы новичок в этой области, то дешевле всего при помощи Компонентов ..... С Уважением, Владимир. и Удачи Вам во всех Ваших начинаниях P.S. Во вложении примеры из Инета по UDP обмену  Попробовал оба примера. Оба работают в пределах комнаты. Но вот связаться с удаленным компом, который стоит где-то далеко не получается. В чем может быть проблема?
|
|
|
|
|
Jan 21 2009, 06:38
|

Ally
     
Группа: Модераторы
Сообщений: 6 232
Регистрация: 19-01-05
Пользователь №: 2 050

|
Мда, Indy здесь уже мало поможет. Мешают файрволы и NAT-ы. Это такие защитные механизмы в роутерах против удаленных атак. Стандартный способ организации связи через файрволы - использование технологии VPN. Но в палитре Indy нет протоколов для построения VPN сетей. Еще можно пытаться работать через порты NAT-ов и файрволов которые как правило открыты - WEB, FTP, MAIL, TELNET и т.д. Хотя может вы просто не тот gateway указали в сетевых настройках. Тогда рекомендую использовать в сетке DHCP сервис. Кстати DHCP сервер может использоваться для оповещения узлов о специальном пути для обхода файрвола если такой есть. Цитата(011119xx @ Jan 21 2009, 09:31)  Попробовал оба примера. Оба работают в пределах комнаты. Но вот связаться с удаленным компом, который стоит где-то далеко не получается. В чем может быть проблема?
|
|
|
|
|
Jan 21 2009, 06:46
|

Йа моск ;)
     
Группа: Модераторы
Сообщений: 4 345
Регистрация: 7-07-05
Из: Kharkiv-city
Пользователь №: 6 610

|
Цитата В чем может быть проблема? Скорее всего, UDP не ходит через NAT. Правда, если там действительно где-то NAT по пути, то будут проблемы. Рассказывайте подробнее топологию сети между двумя компами, которые Вы хотите связать, что куда подключено. Цитата Мешают файрволы и NAT-ы. Это такие защитные механизмы в роутерах против удаленных атак. Ооо, с каких это пор NAT стал защитным механизмом? Это уже вторично его начали пользовать для скрытия подробностей строения внутренней сети, а изначально - это всего лишь транслятор серых айпишников в белые.
--------------------
"Практика выше (теоретического) познания, ибо она имеет не только достоинство всеобщности, но и непосредственной действительности." - В.И. Ленин
|
|
|
|
|
Jan 21 2009, 10:45
|

Ally
     
Группа: Модераторы
Сообщений: 6 232
Регистрация: 19-01-05
Пользователь №: 2 050

|
Этот хамачи чистый троян в прямом смысле. Работает через какой-то левый центральный сервер в инете. Трафик весь будет зависеть от него как в Skype например. Весьма опасно ставить на свой комп такие поделки. Любой Win XP поддерживает организацию одного канала VPN. Windows Server 2003 штатно поддерживает до 1000 VPN каналов. Сделать фиксированный VPN человеку ничего не стоит без всяких примочек. Но это не решение проблемы средствами Delphi. Цитата(Rst7 @ Jan 21 2009, 14:28)  Конечно. Курите мануал, там же все написано  Для простоты можно курнуть квикстарт https://secure.logmein.com/products/hamachi...arted_Guide.pdf
|
|
|
|
|
Jan 21 2009, 10:53
|

Йа моск ;)
     
Группа: Модераторы
Сообщений: 4 345
Регистрация: 7-07-05
Из: Kharkiv-city
Пользователь №: 6 610

|
Цитата Любой Win XP поддерживает организацию одного канала VPN. Windows Server 2003 штатно поддерживает до 1000 VPN каналов. Сделать фиксированный VPN человеку ничего не стоит без всяких примочек. При всем уважении, огласите способ поднятия VPN между двумя хостами, находящимися за NAT'ом? Цитата Работает через какой-то левый центральный сервер в инете. Только в первый момент, для организации UDP-канала в NAT'ах. Основной траффик ходит только между хостами.
--------------------
"Практика выше (теоретического) познания, ибо она имеет не только достоинство всеобщности, но и непосредственной действительности." - В.И. Ленин
|
|
|
|
|
Jan 26 2009, 08:42
|

Йа моск ;)
     
Группа: Модераторы
Сообщений: 4 345
Регистрация: 7-07-05
Из: Kharkiv-city
Пользователь №: 6 610

|
Цитата Хамачи работает, а вот программки из примеров нет. Очень странно. Смотрите, на том ли интерфейсе происходит слушание пакетов этими програмками. И правильные ли IP адреса стоят в прогах - они должны соответствовать тем, которые Вам пишет Хамачи. Т.е. если Хамачи сказал Вам адрес 5.1.2.3, то его и надо ставить, а не тот адрес, который у Вас, например, у сетевой карты.
--------------------
"Практика выше (теоретического) познания, ибо она имеет не только достоинство всеобщности, но и непосредственной действительности." - В.И. Ленин
|
|
|
|
|
Jan 27 2009, 04:32
|

Участник

Группа: Свой
Сообщений: 74
Регистрация: 9-01-07
Из: Украина
Пользователь №: 24 228

|
Добрейшее время суток!!! Вы чем пользуетесь для приема и отдачи данных (Client или Server)? Если Клиентам, то интересную штуку заметил при отправки с клиентской части, по какомуту порту на известный адрес, по сниферу отправка идет совсем с другога порта, чем на который настроен клиент  (Хотя идет жесткая привязка к порту методом bind). Тоесть информация совсем идет не на то порт, который слушает клиент. ПРи использовании Сервера - эта проблема ушла. И есще если Ваша машина стоит за Нат-ом, то скорее Вам надо узнать внешний айпи адрес Вашей машины, которым она подключена к инету  , это можно узнать так называемым STUN-ом. С Уважением, Владимир
Прикрепленные файлы
STUN.7Z ( 167.59 килобайт )
Кол-во скачиваний: 57
|
|
|
|
|
Jan 27 2009, 06:27
|

Ally
     
Группа: Модераторы
Сообщений: 6 232
Регистрация: 19-01-05
Пользователь №: 2 050

|
Теже яйца. Хамачи делает ровно тоже самое. Очевидно что на дороге стоит файрвол. Примитивные решения на UDP ему явно не помогут. Нужен минимум промежуточный сервер-шлюз. Либо попытаться выйти в IPv6 сети где-нить нахаляву. Цитата(Vladimir_J @ Jan 27 2009, 06:32)  Добрейшее время суток!!! Вы чем пользуетесь для приема и отдачи данных (Client или Server)? Если Клиентам, то интересную штуку заметил при отправки с клиентской части, по какомуту порту на известный адрес, по сниферу отправка идет совсем с другога порта, чем на который настроен клиент  (Хотя идет жесткая привязка к порту методом bind). Тоесть информация совсем идет не на то порт, который слушает клиент. ПРи использовании Сервера - эта проблема ушла. И есще если Ваша машина стоит за Нат-ом, то скорее Вам надо узнать внешний айпи адрес Вашей машины, которым она подключена к инету  , это можно узнать так называемым STUN-ом. С Уважением, Владимир 
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|