ПК-сервер, Android-клиент. UDP. Клиент не получает пакеты с сервера - PullRequest
2 голосов
/ 18 декабря 2011

Я смог настроить свою клиент-серверную программу таким образом, чтобы сервер работал на ПК, а клиент на Android.Либо эмулятор, либо устройство.Сервер получает данные от клиента, но клиент не получает данные от сервера (все UDP).Даже если сервер получает адрес клиента из recvfrom.Я хочу, чтобы он работал как на эмуляторе Android, так и на устройстве Android (на моем телефоне).Я читал, что эмулятор Android имеет виртуальный маршрутизатор.Я пытался дать клиенту ip 10.0.2.2 при работе на том же компьютере, что и сервер, но это не помогло.Существует связь между клиентом и сервером, она только односторонняя.Что-то, что мне не хватает?Я использую сокеты Berkley для JNI \ C ++ для Android и winsock2 для сервера ПК.

Ответы [ 2 ]

0 голосов
/ 28 февраля 2013

Мне было интересно, если бы вы опубликовали ссылку на исходный код в разделе получения пакетов udp для Android, есть много вопросов, на которые нет простых ответов.Я сам не могу найти простую программу для отправки пакетов udp с компьютера на Android.

0 голосов
/ 18 декабря 2011

Edit:

Я смог заставить его работать! Таким образом, UDP может работать на Android в обоих направлениях! Проблема заключалась в том, что у select в winsock2 первый параметр не используется, а в linux \ Android он используется и называется nfds. Отправляя NULL этому параметру (как я это делал в winsock2), по сути, выбор заставляет всегда возвращать 0.

Спасибо за помощь fge.

...