Низкоуровневое взаимодействие по сети.
Модератор: Модераторы
Низкоуровневое взаимодействие по сети.
Интересует какая-нибудь библиотека для сетевого взаимодействия с возможностями:
TCP/UDP
NAT или UPnP, ну или вообще возможность создания peer-to-peer соединения
работа под Win32, прочие операционки приветствуются
Можно даже не библиотеку, а просто исходники на паскале, в которых это есть.
Есть такое?
TCP/UDP
NAT или UPnP, ну или вообще возможность создания peer-to-peer соединения
работа под Win32, прочие операционки приветствуются
Можно даже не библиотеку, а просто исходники на паскале, в которых это есть.
Есть такое?
Indy?
Curl?
ICS?
Synapse?
Sockets, в конце концов...
Curl?
ICS?
Synapse?
Sockets, в конце концов...
Curl вроде только по FTP и HTTP умеет?
ICS и Synapse вроде не умеют по UDP?
Indy посмотрю.
И Sockets заодно. Он точно умеет peer-to-peer'иться?
ICS и Synapse вроде не умеют по UDP?
Indy посмотрю.
И Sockets заодно. Он точно умеет peer-to-peer'иться?
2 Д,
Что значит "Пер-ту-периться"? Нужно знать адреса узлов. И открыть в файрволах соответствующие порты.
Лучший вариант - Synapse (самый стабильный)
Самый понятный - Indy (много оберточного кода написано, нужно написать код двух процедур)
Самый "управляемый" - Сокеты напрямую
Что значит "Пер-ту-периться"? Нужно знать адреса узлов. И открыть в файрволах соответствующие порты.
Лучший вариант - Synapse (самый стабильный)
Самый понятный - Indy (много оберточного кода написано, нужно написать код двух процедур)
Самый "управляемый" - Сокеты напрямую
Угу, именно умение открывать порты в файрволах и нужно
другое дело, что самому мне пока что этого не получилось сделать.
Дож писал(а):Угу, именно умение открывать порты в файрволах и нужнодругое дело, что самому мне пока что этого не получилось сделать.
Будем надеяться, что и не получится.
Да ладно вам, я не вирусописец, а игродел
И хочется, чтобы игра работала по сети...
Тогда используй порт 80 или 443. Они открыты практически всегда.
Используй http-запросы CONNECT для эмуляции постоянного соединения.
Используй http-запросы CONNECT для эмуляции постоянного соединения.
Выглядит по-индусски, но я подумаю над этим.
Хари... Кришна... тебе в помощь 
По ходу я чушь сморозил
мне нужно открытвать порт не столько в файерволле, сколько в роутере. Это уже звучит не так дико?
Ладно, приведу пример. У меня есть программа, написанная на сокетах, она работает по локалке, но не работает через интернет. Есть мнение, что это из-за роутера - пакеты не доходят до не имеющих собственных глобальных ip адресов компов.
А еще у меня есть uTorrent, который через инет работает. Чем же он круче?
Ладно, приведу пример. У меня есть программа, написанная на сокетах, она работает по локалке, но не работает через интернет. Есть мнение, что это из-за роутера - пакеты не доходят до не имеющих собственных глобальных ip адресов компов.
А еще у меня есть uTorrent, который через инет работает. Чем же он круче?
Много вариантов. Например, тайминги не выставлены достаточные. Либо входящие запросы на внутренние компьютеры сети не транслируются на роутере и т.п.
Попробуй начать с протокола.
Сделай сервер и назначь ему "внешний" Ip (если его дает провайдер). Затем подключись к нему из сети и снаружи. Потом смотри на трансляцию адресов и т.д.
Попробуй начать с протокола.
Сделай сервер и назначь ему "внешний" Ip (если его дает провайдер). Затем подключись к нему из сети и снаружи. Потом смотри на трансляцию адресов и т.д.
