|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
03.05.2010, 23:09 | #1 |
Пользователь
Регистрация: 09.04.2010
Сообщений: 24
|
свойства idTCPServer
как программно изменить ip адресс и порт в этом компоненте пишет только для чтения
[Error] Unit5.pas(35): Cannot assign to a read-only property вот код form3.IdTCPServer1.Bindings.Items[0].PeerIP:=edit1.text form3.IdTCPServer1.Bindings.Items[0].PeerPort:=strtoint(edit2.Text) кто знает подскажите плиз |
03.05.2010, 23:57 | #2 |
Участник клуба
Регистрация: 13.01.2009
Сообщений: 1,353
|
Сервер на то и сервер, чтобы принимать, а когда он принимает пакеты, то принимает их с определенного IP-адреса машины, которая их отправила. Так уж устроен этот компонент, и основан он на общепринятых правилах отправки-приема (пример: письмо, написанное от руки имеет адреса отправителя). Как вы собираетесь менять IP-адрес, от куда вам пришел пакет??? Тоже самое, вы скажите, что можете ходить по потолку Abinding.PeerIP - вызывается для того чтобы узнать адрес отправителя, поменять её НЕЛЬЗЯ по выше приведенной причине. Тоже самое косается и порта! (Abinding.PeerPort).
Если у вас задача, поменять порт на сервере, то юзайте tIdUDPServer.DefaultPort; Код:
"Тебе то может на меня и насрать, но твои глаза меня обожают!"
|
04.05.2010, 13:59 | #3 |
Пользователь
Регистрация: 09.04.2010
Сообщений: 24
|
Ну у компонента idTCPServer тоже должен же быть ip адресс чтоб отправитель знал куда отправлять пакеты. вот его я и хочу задать програмно. Я хочу чтоб Программа с компонентом idTCPServer запускалась на любом компе без среды делфи. А без среды я не могу указать в свойстве bindings ip адресс данного компьютера. а если ip адресс в свойстве bindings не совпадает с ip данного компа программа выдает ошибку, может как то автоматически можно определять ip адресс машины на которой запущена прога ? помогите плиз
Последний раз редактировалось Deman005; 04.05.2010 в 14:05. |
04.05.2010, 14:16 | #4 |
Участник клуба
Регистрация: 13.01.2009
Сообщений: 1,353
|
Можно. В библиотеке инди есть ещё один замечательный компонент, называется он IdIPWatch, находится на вкладке Indy Misc. Кидаете его на форму, в программе пишите код:
Код:
Код:
Код:
Код:
"Тебе то может на меня и насрать, но твои глаза меня обожают!"
|
04.05.2010, 14:21 | #5 |
Участник клуба
Регистрация: 13.01.2009
Сообщений: 1,353
|
И кстати, чтож вы так к этому bindings привязались?! Он определяет подключения, связи, которые есть сейчас между клиентами-серверами или сервера-серверами.
"Тебе то может на меня и насрать, но твои глаза меня обожают!"
|
04.05.2010, 14:35 | #6 |
Пользователь
Регистрация: 09.04.2010
Сообщений: 24
|
Ну просто гинеально . Спасибо большое. А это в глобальной сети интернет. Если мой провайдер использует VPN
|
04.05.2010, 14:41 | #7 |
Участник клуба
Регистрация: 13.01.2009
Сообщений: 1,353
|
Я привел пример для локальной сети (локальная сеть, которую обеспечивает провайдер, если обеспечивает, локальная сеть с помощью хабов и свичей, маршрутизаторовом и потобной лабуды...) С интернетом будет сложнее. Понимаете в чем дело... не у всех есть выделенные IP-адреса, кто-то выходит в интернет через IP, который обеспечивает провайдер для своих подключившихся, а там уже идет фильтрация на сервере, чтобы не занести всякую дрянь к себе и к людям, и по этому ваши попытки будут неумолимо блокироваться Выхода из этой ситуации кроме как выделенного сервера, я не вижу, увы. Хотя возможно со временем найду, а если и есть такие решения, то они где попалоне валяются.
"Тебе то может на меня и насрать, но твои глаза меня обожают!"
|
04.05.2010, 14:53 | #8 |
Пользователь
Регистрация: 09.04.2010
Сообщений: 24
|
в смысле выделенного сервера?? веб сервера что ли??
|
04.05.2010, 14:57 | #9 |
Участник клуба
Регистрация: 13.01.2009
Сообщений: 1,353
|
Знаете программу QIP или ICQ? Вот они используют выделенный сервер. Имеется ввиду, серверный компьютер с выделенным IP, через который будут идти все запросы. Ну и соответственно, обеспечить ему свободный вход по какому-либо порту во всех интернет компаниях. (ICQ использует 80 например).
"Тебе то может на меня и насрать, но твои глаза меня обожают!"
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
IdTCPServer | Pankhammer | Работа с сетью в Delphi | 0 | 30.04.2010 00:14 |
IDTCPServer IP адрес | SERG1980 | Работа с сетью в Delphi | 1 | 28.05.2009 16:43 |
IdTCPServer отправка сообщений. | gusluk | Работа с сетью в Delphi | 3 | 08.04.2009 09:43 |
IdTCPServer Exception | Comer_Jus | Работа с сетью в Delphi | 2 | 25.06.2008 22:23 |
IdTcpClient и idTcpServer | xTANATOSx | Работа с сетью в Delphi | 9 | 17.05.2008 23:11 |