Могу ли я отправлять пакеты, если я знаю IP-адрес и номер порта назначения? - PullRequest
2 голосов
/ 04 мая 2011

Я пытаюсь создать приложение для iPhone P2P.Если я знаю чей-то IP-адрес и номер порта (я собираюсь использовать фиксированный номер порта), могу ли я отправить пакет человеку независимо от сети, к которой он принадлежит, и компании провайдера, которой он пользуется?

По сути, я собираюсь настроить централизованный сервер, и пользователи обновят свой IP-адрес (я собираюсь использовать фиксированный номер порта) для сервера.Если я хочу что-то отправить кому-то, я могу получить IP-адрес этого человека с сервера, создать сокет и отправить через него все, что захочу ...

Мне было интересно, стоит ли мне рассмотреть что-то еще...

Заранее спасибо

Ответы [ 4 ]

1 голос
/ 04 мая 2011

Да, вот и вся идея схемы интернет-адресов.

1 голос
/ 04 мая 2011

Есть некоторые вещи, которые вы должны рассмотреть здесь.

  1. Сеть и интернет-провайдер, к которому принадлежит человек, не являются проблемой в любом случае (если, конечно, не происходит какая-то странная фильтрация пакетов и т. Д.)
  2. В вашем случае сервер будет вашим собственным сервером (назовем его serverX). Сервер не подключается к клиентам (iosA, iosB и т. Д.), К которым они подключаются.
  3. Что приводит к: IP и порт клиентов не имеет значения для вас (не для этого, скорее всего)
  4. Ваши клиенты могут получать информацию с сервера (используя множество библиотек или методов, я бы порекомендовал ASIHttpRequest), или сервер может проталкивать через службы уведомлений
0 голосов
/ 10 июля 2013

Я настоятельно рекомендую Асинхронное гнездо какао.Это сторонний проект с открытым исходным кодом.https://github.com/robbiehanson/CocoaAsyncSocket

На сайте также есть несколько базовых примеров проектов, с которых можно начать.У меня был большой опыт работы с этой платформой.

Вы также можете проверить это: http://oreilly.com/iphone/excerpts/iphone-sdk/network-programming.html Это стандартное руководство CFNetwork и инструкция.

0 голосов
/ 04 мая 2011

Да, вы можете. Но если устройство подключено через Wi-Fi, оно может находиться за брандмауэром. И этот брандмауэр может нуждаться в переадресации портов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...