|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
11.01.2012, 15:43 | #1 |
Пользователь
Регистрация: 15.01.2011
Сообщений: 27
|
Открытый сокет
Здравствуйте! Я столкнулся с такой проблемой:
Написал программу которая подключается к серверу по tcp/ip соединению! Использую INDY 9, и компонент IdTcpClient! Но, мне необходимо чтобы две программы работали одновременно с одним и тем же сокетом! с указанным мною одинаковым boundport! Одна программа работает нормально, но вторая тут же выводит сообщение о том, что данный ип и порт уже используются и поэтому не может подключиться! Как мне сделать чтобы обе программы работали совместно с одним и тем же boundport! На ответы "такое не возможно" я не смотрю! Привожу пример программы WPE PRO которая может спокойно работать так при установке галочки на Open Socket (т.е. работа уже с открытым сокетом)... Жду ваших ответов! |
11.01.2012, 17:40 | #2 |
Форумчанин
Регистрация: 24.02.2010
Сообщений: 148
|
Мне кажиться нахватает потоков !
|
11.01.2012, 17:50 | #3 |
Пользователь
Регистрация: 15.01.2011
Сообщений: 27
|
Дело не в потоках! Я же не использую в одной программе два подключения... я использую совершенно две разные программы которые просто работают под одним boundport, port и host! Сейчас прочитал некоторую литературу про сокеты! Вопрос немножко меняется! Есть ли dll которую можно инжектировать в программу из под которой уже управлять отдельно отсылаемыми данными другой программы! Т.е. запустил 1 прогу... вторую запускаю и она же инжектирует в 1 программу dll из под которой я буду дополнительно отправлять нужные мне данные и принимать! Такое как я понял и используется в Wpe Pro
|
11.01.2012, 18:54 | #4 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
бред какой то.
у меня с этим форумом(hostrogrammersforum.ru, порт:80) сейчас было около 5-ти соединений. это серверы не могут делить один и тот же порт, но не клиенты. Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
11.01.2012, 19:52 | #5 |
Пользователь
Регистрация: 15.01.2011
Сообщений: 27
|
Я не имею в виду обычные соединения типа post и get ! я соединяюсь с сервером по 443 порту... и использую неразрывное сокет соединение прямо как в ICQ !
|
11.01.2012, 19:56 | #6 |
Пользователь
Регистрация: 15.01.2011
Сообщений: 27
|
И ты не учел 1 вероятность что мне необходимо чтобы от моего компа открывался 1 и тот же порт для двух программ... но это невозможно без инжектирования одной программы в другую... я вроде бы не зря указал что использую один и тот же boundport, вот попробуй создать 2 проги) в одной создать подключение к серверу без разрыва а второй по этому же boundport подключиться к этому же серверу... сразу сообщу что у тебя ошибка вылезет о том, что этот порт и сервер используется в системе"
|
11.01.2012, 20:01 | #7 | ||
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
Цитата:
еще пример игра Perfect World, отлично работает в два окна(два постоянных соединения сразу, надеюсь тут нет сомнений в постоянности) клиент не блокирует порт, два клиента могут применять один и тот же порт. но не сервер Цитата:
PS: насчет пяти соединений HTTP, у меня интернет медленный, страницы не мгновенно открываются. Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. Последний раз редактировалось Пепел Феникса; 11.01.2012 в 20:10. |
||
11.01.2012, 20:16 | #8 |
Пользователь
Регистрация: 15.01.2011
Сообщений: 27
|
Да проверил на других сайтах! видимо в сервере дело! тогда вопрос также актуален, но уже изменен! С инжектированием дллки я разобрался) но, как в длл записать код который будет отсылать запросы серверу той программы в которую он будет инжектирован, к тому же мне необходимо изменять эти запросы т.е. данные для отправки включающие текст отправки, порт, boundport, и ип сервера! я все не могу разобраться каким образом путем внедрения длл управлять ей из другой программы.. или же все таки придется переписывать длл каждый раз когда хочу чтото изменить в моем запросе и инжектировать ее по новой... жду ответов!
|
11.01.2012, 20:22 | #9 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
я бы просто создал одно приложение-сервер(не обязательно сокетный, можно и Pipe или нечто иное) к которому будут подключаться приложения и использовать подключение через него.(или же можно в одном приложении такое объединить)
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
11.01.2012, 20:25 | #10 |
Пользователь
Регистрация: 15.01.2011
Сообщений: 27
|
я бы с радостью использовал твой совет но проблема в том, что сервер не мой!
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Вопрос по WinSock: "сокет=сокет." | Ksardas13 | C/C++ Сетевое программирование | 2 | 27.11.2011 16:12 |
Найти открытый документ по части имени | vefer | Microsoft Office Word | 2 | 09.02.2011 03:18 |
Куда ворд сохраняет по умолчанию файл открытый из архива | Nick K | Софт | 7 | 21.07.2010 08:55 |