Суббота, 20.04.2024, 11:47 Приветствую вас Гость | Группа "Гости" 
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 2 из 2
  • «
  • 1
  • 2
Модератор форума: xXxSh@dowxXx, Anton93, Волк-1024  
delphicode » Delphi » Вопросы по Delphi » ServerSocket и ClientSocket (коннект)
ServerSocket и ClientSocket
Marra_KeshДата: Пятница, 30.03.2012, 14:51 | Сообщение # 26
Постоянный
Зарегистрирован: 19.12.2009
Группа: Модераторы
Сообщений: 182
Статус: Offline
Quote (Qubert)
не стоит ломать голову над работой скайпа

Google ---> Исходный код Skype
Нет?


Заведующий палатой #6
 
gravitasДата: Пятница, 30.03.2012, 15:15 | Сообщение # 27
Авторитетный
Зарегистрирован: 01.05.2010
Группа: Пользователи
Сообщений: 385
Статус: Offline
Тут вроде думать особо не нужно... Бэкконнект же идет.
 
dolphinДата: Пятница, 30.03.2012, 16:17 | Сообщение # 28
Администратор
Сообщений: 906
Статус: Offline
Кстати чтобы Бэкконнект на себя сделать, нужно чтобы прямой ip был? У моего провайдера 180 р в месяц эта услуга стоит smile
 
gravitasДата: Пятница, 30.03.2012, 18:08 | Сообщение # 29
Авторитетный
Зарегистрирован: 01.05.2010
Группа: Пользователи
Сообщений: 385
Статус: Offline
Любой коннект на себя требует выделенки.
Сегодня третий раз провайдера сменил, щас посмотрю, как тут с платной выделенкой кстати.
 
xXxSh@dowxXxДата: Пятница, 30.03.2012, 20:45 | Сообщение # 30
Авторитетный
Зарегистрирован: 22.01.2012
Группа: Модераторы
Сообщений: 702
Статус: Offline
ну и к чему такие запарки с бэкконектом если можно упростить до принципа работы любого нормального клиентского приложения, только вот вопрос возникает как реализовать на делфи...
 
QubertДата: Пятница, 30.03.2012, 22:17 | Сообщение # 31
Частый гость
Зарегистрирован: 21.01.2012
Группа: Пользователи
Сообщений: 43
Статус: Offline
Доступно только для пользователей
 
gravitasДата: Суббота, 31.03.2012, 08:41 | Сообщение # 32
Авторитетный
Зарегистрирован: 01.05.2010
Группа: Пользователи
Сообщений: 385
Статус: Offline
А на чем по вашему ServerSocket и ClientSocket написаны? Такой же винсок. Откройте хоть код процедуры SendText().
 
xXxSh@dowxXxДата: Суббота, 31.03.2012, 13:09 | Сообщение # 33
Авторитетный
Зарегистрирован: 22.01.2012
Группа: Модераторы
Сообщений: 702
Статус: 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.04.2011
Группа: Пользователи
Сообщений: 25
Статус: Offline
Quote (xXxSh@dowxXx)
вобще какой бы исходник по сокетам сюда не выкладывали он не будет работать если чел сидит в нете через роутер или его ip находится за NAT или если провайдер мутит нет через роутер чего по идее быть не должно...,вобщем у себя сам проверил ни один пример на сокетах не пашет когда в нет захожу через роутер, так как там нада переброс портов делать, а представьте ситуацию вы написали простенький троян на сокетах, и не учли что в нете уже каласальное большинство может сидеть как раз с таким соединением и ничего естественно тут работать не будет поэтому я и говорю нада учесть при разработке проекта все варианты...


Я сижу через роутер и клиент который ко мне коннектился тоже был на роутере!!! Мб дело в том что у меня маппинг портов на мой комп?! хз!! Де факто: необходимо програмно сделать прослушку порта(как не спрашивайте я не углублялся мне было проще настроить маппинг портов)... В одной из лекций которые я читал для создания чата было нечто "сокеты бывают отправляющие, принимающие и слушающие"...
 
delphicode » Delphi » Вопросы по Delphi » ServerSocket и ClientSocket (коннект)
  • Страница 2 из 2
  • «
  • 1
  • 2
Поиск:

delphicode.ru © 2008 - 2024 Хостинг от uCoz