Посылка данных в порт

Общие вопросы программирования, алгоритмы и т.п.

Модератор: Модераторы

Re: Посылка данных в порт

Сообщение dionic » 15.10.2009 12:04:59

Дык я и добавлял туда ip и вместо него 127.0.0.1 записывал, а всё равно получаю 127.0.0.1.
dionic
новенький
 
Сообщения: 90
Зарегистрирован: 17.06.2009 21:00:08

Re: Посылка данных в порт

Сообщение Attid » 15.10.2009 12:44:29

вместо не надо. надо рядом

Код: Выделить всё
127.0.0.1 localhost.localdomain localhost
192.168.1.1 www.mydomain.org mydomain


Добавлено спустя 18 минут 15 секунд:
а хотя зачем тебе локальный ИП ? у меня например их много

Код: Выделить всё
ifconfig | grep addr:
          inet addr:192.168.1.101  Bcast:192.168.1.255  Mask:255.255.255.0
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Диапазон:Узел
          inet addr:192.168.0.44  P-t-P:192.168.7.201  Mask:255.255.255.255
          inet addr:192.168.2.44  P-t-P:192.168.15.1  Mask:255.255.255.255
          inet addr:10.25.2.101  P-t-P:192.168.15.1  Mask:255.255.255.255
          inet addr:10.86.2.153  P-t-P:10.86.2.150  Mask:255.255.255.255
          inet6 addr: fe80::213:d4ff:fed1:3fd0/64 Диапазон:Ссылка


какой из них ты хочешь получить ? и что это тебе даст ?
Аватара пользователя
Attid
долгожитель
 
Сообщения: 2585
Зарегистрирован: 27.10.2006 17:29:15
Откуда: 44°32′23.63″N 41°2′25.2″E

Re: Посылка данных в порт

Сообщение dionic » 15.10.2009 13:20:20

Ну допустим у меня на компе 2 проги обмениваются данными через сокеты, одна сервер другая клиент. Если ip динамический и произошло переподключение , то нужно соответственно сервер на новом ip создать и чтобы клиент на новый ip стучался. Поэтому на сервере нужно всё время проверять не изменился ли ip и перебиндить сокет если что. А клиент получая когда коннектится тоже новый ip использует. Ну что-то типо того=)))

Я пробывал в хостс и рядом писать новый ip. Только не помогло. Видно что то не так пишу.

А если ip внешний, то эта функция вернет его? Или опять 127.0.0.1 ?
И что за ifconfig?
dionic
новенький
 
Сообщения: 90
Зарегистрирован: 17.06.2009 21:00:08

Re: Посылка данных в порт

Сообщение v-t-l » 15.10.2009 15:42:32

dionic писал(а):Ну допустим у меня на компе 2 проги обмениваются данными через сокеты, одна сервер другая клиент.

Если на одном компе, так зачем нужно знать внешний ip? 127.0.0.1 не работает?
v-t-l
энтузиаст
 
Сообщения: 733
Зарегистрирован: 13.05.2007 16:27:22
Откуда: Belarus

Re: Посылка данных в порт

Сообщение dionic » 15.10.2009 15:50:07

Да ,конечно, работает , а вот с другого компа потом как коннектится к серверу на этом?
dionic
новенький
 
Сообщения: 90
Зарегистрирован: 17.06.2009 21:00:08

Re: Посылка данных в порт

Сообщение v-t-l » 15.10.2009 16:01:22

а как другой комп узнает новый ip первого?
только через DNS или WINS.

Добавлено спустя 12 минут 32 секунды:
т.е. по имени первого компа
v-t-l
энтузиаст
 
Сообщения: 733
Зарегистрирован: 13.05.2007 16:27:22
Откуда: Belarus

Re: Посылка данных в порт

Сообщение dionic » 15.10.2009 16:21:00

Ну что то типо того. :D
dionic
новенький
 
Сообщения: 90
Зарегистрирован: 17.06.2009 21:00:08

Re: Посылка данных в порт

Сообщение Attid » 15.10.2009 21:19:41

вот и пусть пользователь вбивает имя сервера, а ты его резолфь в ИП. этой функцией, только не вбивай туда имя своей машины, а сервера.
Аватара пользователя
Attid
долгожитель
 
Сообщения: 2585
Зарегистрирован: 27.10.2006 17:29:15
Откуда: 44°32′23.63″N 41°2′25.2″E

Re: Посылка данных в порт

Сообщение dionic » 26.10.2009 17:04:07

Mr.Smart писал(а):dionic
Смотри пример из Synapse demo\httpserv


Обнаружилась такая вот инетересная вещь. В проекте demo\httpserv при соединении с сервером создается новый экземпляр класс TTCPBlockSocket, и его свойству Socket присваивается значение, полученное с помощью функции Accept сервера. После чего обмен данными можно вести с клиентом через этот новый экземпляр класса.
А вот если передать значение , полученное с помощью функции Accept сервера, другому приложению и присвоить его свойству Socket нового экземпляра класса TTCPBlockSocket, то обмен данными не происходит, так как не восстанавливаются определённые структуры (для определения локального адреса и удаленного). Возникает собственно вопрос как быть?

Возможно ли писать прям в порт на котором было осуществлено соединение сервером (ну т.е. который он слушает)?
Народ у кого есть какие мысли поделитесь плиз...
dionic
новенький
 
Сообщения: 90
Зарегистрирован: 17.06.2009 21:00:08

Re: Посылка данных в порт

Сообщение Mr.Smart » 26.10.2009 17:43:36

dionic
Есть только одна мысль! Зачем так извращаться?
Я не очень понимаю, что у вас за задача. И предполагаю, что вы неправильно продумываете алгоритм решения этой задачи.
Mr.Smart
долгожитель
 
Сообщения: 1796
Зарегистрирован: 29.03.2008 01:01:11
Откуда: из леса!

Re: Посылка данных в порт

Сообщение dionic » 26.10.2009 18:12:56

:) Прикольная мысля. Может и так.
Ладно попробую объяснить зачем всё так сложно.
У меня имеется программа для снятия показаний со счетчиков э/э. Счетчики могут быть либо локально подсоединены прямо к УСПД (пром. комп по RS-232) или удалённо через коммуникатор. Так вот локально всё работает на ура. Да и удаленно тоже при некоторых условиях.
Хочется просто выделить ту часть логиги , которая предоставляет подсоединение к коммуникатору в отдельную программу.(коммуникатор может только сам коннектится , т.е. на компе необходимо создать сервер для прослушки порта).
Предполагалось так, программа коммутирующая коммуникатор может по запросу из основной программы сборщика , приконнектить комуникатор на определенный порт и передать номер сокета. А в основной программе с новым экземпляром класс TTCPBlockSocket можно было передавать данные по этому сокету.
Так просто разделяются функции коннекта и сбора данных в разные программы, и если изменится способ коннекта коммуникатора (например можно будет к коммуникатору самому коннектится, а не ждать пока он это сделает), то необходимо будет допилить только одну маленькую программу (так сказать модуль системы) , а не лезть в основную по сбору данных.
Ну в общем примерно так=). Может , конечно, я и не правильно что-то делаю, просто начальство хочет больше модульности...А я извращаюсь...
Mr.Smart если есть какие-нибудь мысли по поводу того как работать именно с портом на котором создаешь сокет или как передать значение свойства Socket в другую программу , а там восстановить передачу данных , поделитесь плиз :D
dionic
новенький
 
Сообщения: 90
Зарегистрирован: 17.06.2009 21:00:08

Пред.

Вернуться в Общее

Кто сейчас на конференции

Сейчас этот форум просматривают: Google [Bot] и гости: 20

Рейтинг@Mail.ru