ServerSocket и ClientSocket
|
Marra_Kesh
|
Дата: Пятница, 30.03.2012, 14:51 | Сообщение # 26
|
Продвинутый
Группа: Модераторы
Сообщений: 178
Статус: Offline
|
Quote (Qubert)
не стоит ломать голову над работой скайпа
Google ---> Исходный код Skype
Нет?
|
|
|
|
|
gravitas
|
Дата: Пятница, 30.03.2012, 15:15 | Сообщение # 27
|
Авторитетный
Группа: Модераторы
Сообщений: 371
Статус: Offline
|
Тут вроде думать особо не нужно... Бэкконнект же идет. |
|
|
|
|
dolphin
|
Дата: Пятница, 30.03.2012, 16:17 | Сообщение # 28
|
Создатель
Группа: Администраторы
Сообщений: 910
Статус: Offline
|
Кстати чтобы Бэкконнект на себя сделать, нужно чтобы прямой ip был? У моего провайдера 180 р в месяц эта услуга стоит  |
|
|
|
|
gravitas
|
Дата: Пятница, 30.03.2012, 18:08 | Сообщение # 29
|
Авторитетный
Группа: Модераторы
Сообщений: 371
Статус: Offline
|
Любой коннект на себя требует выделенки.
Сегодня третий раз провайдера сменил, щас посмотрю, как тут с платной выделенкой кстати. |
|
|
|
|
xXxSh@dowxXx
|
Дата: Пятница, 30.03.2012, 20:45 | Сообщение # 30
|
Продвинутый
Группа: Проверенные
Сообщений: 418
Статус: Offline
|
ну и к чему такие запарки с бэкконектом если можно упростить до принципа работы любого нормального клиентского приложения, только вот вопрос возникает как реализовать на делфи... |
|
|
|
|
Qubert
|
Дата: Пятница, 30.03.2012, 22:17 | Сообщение # 31
|
Был не раз
Группа: Пользователи
Сообщений: 43
Статус: Offline
|
Доступно только для пользователейя пробовал коннектить серверсокет и клиентсокет, ничего не получилось из-за роутера...по локалке отлично работает, возник вопрос:
а винсок через роутер тоже не пойдет?
я конечно понимаю, что он убивает выделинку...просто интересно, будет ли зависить от этого винсок |
|
|
|
|
gravitas
|
Дата: Суббота, 31.03.2012, 08:41 | Сообщение # 32
|
Авторитетный
Группа: Модераторы
Сообщений: 371
Статус: Offline
|
А на чем по вашему ServerSocket и ClientSocket написаны? Такой же винсок. Откройте хоть код процедуры SendText(). |
|
|
|
|
xXxSh@dowxXx
|
Дата: Суббота, 31.03.2012, 13:09 | Сообщение # 33
|
Продвинутый
Группа: Проверенные
Сообщений: 418
Статус: Offline
|
Вот что удалось найти, думаю проблема более менее теперь понятна и решаема, вот только код будет более сложный и муторный:
Для сведения, по сетям соединяться можно как угодно, главное чтоб все было правильно организовано:
В сети компы должны быть в одной подсети и видеть друг друга.
По интернету у клиента должен быть нормальный доступ через маршрутизаторы выход до сервера. На сервере его ИП должен соответствовать тому куда "звонит" клиент и соответственно открыт порт на нем.
Примеры:
1) В ЛВС. ИП Клиента 192.168.0.15, сервер 192.168.0.21. Клиент "звонит" на 192.168.0.21 порт 1212. На сервере 1212 открыт серверной программой.
2) В интернет(Оба компа подключены напрямую и имеют на сетевых интерфейсах ИП типа 87.113.74.ХХ). Ситуация как и случае 1 Клиент звонит на 87.113.74.ХХ сервера на порт, порт открыт.
3) В интернет(Клиент подключен через ЛВС имеющую Роутер в инет, Клиент имеет на сетевом интерфейсе ИП типа 192.168.0.15, Сервер имеет на сетевом интерфейсе ИП типа 87.113.74.ХХ). Ситуация как и в случае 2 Клиент звонит на 87.113.74.ХХ сервера на порт, порт открыт. Маршрутизатор сам перенаправит пакет куда надо.
4) В интернет(Оба подключены через ЛВС имеющую Роутер в инет, Клиент имеет на сетевом интерфейсе ИП типа 192.168.хх.хх, Сервер имеет на сетевом интерфейсе ИП типа 192.168.хх.хх). Ситуация хоть и простая, но без сетевого Админа ты ее не решишь, Ибо Роутеры не маршрутизируют обратно. ПортМаппинг тебе в помощь.
Сообщение отредактировал xXxSh@dowxXx - Суббота, 31.03.2012, 13:09
|
|
|
|
|
teodelfix
|
Дата: Понедельник, 09.04.2012, 22:38 | Сообщение # 34
|
Участник
Группа: Пользователи
Сообщений: 25
Статус: Offline
|
Quote (xXxSh@dowxXx)
вобще какой бы исходник по сокетам сюда не выкладывали он не будет работать если чел сидит в нете через роутер или его ip находится за NAT или если провайдер мутит нет через роутер чего по идее быть не должно...,вобщем у себя сам проверил ни один пример на сокетах не пашет когда в нет захожу через роутер, так как там нада переброс портов делать, а представьте ситуацию вы написали простенький троян на сокетах, и не учли что в нете уже каласальное большинство может сидеть как раз с таким соединением и ничего естественно тут работать не будет поэтому я и говорю нада учесть при разработке проекта все варианты...
Я сижу через роутер и клиент который ко мне коннектился тоже был на роутере!!! Мб дело в том что у меня маппинг портов на мой комп?! хз!! Де факто: необходимо програмно сделать прослушку порта(как не спрашивайте я не углублялся мне было проще настроить маппинг портов)... В одной из лекций которые я читал для создания чата было нечто "сокеты бывают отправляющие, принимающие и слушающие"...
|
|
|
|
|