2012-01-30 1 views
1

Я только начал разрабатывать образец приложения для Mono. Основная задача - реализовать сервер tcp-socket на Android-планшете для прослушивания соединений с клиентом. после подключения клиент начинает отправлять данные в режиме реального времени, а приложение Android отображает данные на экране. это важно для реализации серверной части на Android. Я использую Mono для Android/C#. У меня уже есть недельный поиск в Google и просмотр примеров.Возможно ли иметь Async Socket в Mono для Android с помощью C#?

Мой вопрос: если сокет Async TCP работает на андроидной каркасе Android или нет. потому что мой код отлично работает, когда я использую его в «приложении Windows» на платформе «windows application». но когда я меняю его на «приложение Windows» на «android», соединение просто отключается.

Я знаю, что вопрос - это заработная плата, я знаю, что вы все ожидаете источник выборки ... Если бы у меня было место, чтобы поставить образец, я бы определенно положил его!

  • Я использую Mono для Android Апи 12 Emulator
  • Я уже направил порт TCP с помощью эмулятора телнета консоли команды «REDIR»
  • соединения устанавливается, но данные не будучи полученный на сервере (андроид сторона)

любая помощь/образец/руководство будет оценено

+0

Вы пробовали его на устройстве? Я знаю, что настройки сети эмулятора довольно сумасшедшие. Я не понимаю, почему использование сокета не работает в MonoDroid, если оно работает в Windows. – jonathanpeppers

+0

Быстро не сказать, что ** MonoTouch ** является «Mono для iOS», а «Mono for Android» - «Mono for Android». Они разделяют довольно много, но они разные продукты. – poupou

+0

обновление: спасибо, ребята, за время для чтения и комментирования. Я только что нашел проблему. единственная разница между версией «windows» сервера и «android» была в пространстве имен «десериализация сообщений». (blabla.mono.net/blabla.windows.net), который был решен путем изменения имени сборки в методе «BindToType» DeserializationAppDomainBinder. теперь сообщение приходит на серверную сторону приятно и плавно :) Еще раз спасибо. – Afshin

ответ

3

можно иметь Async гнездо в Android с помощью Mono. для этого сценария нет конкретной разницы с приложением Windows. моя проблема была на самом деле от де-сериализации сообщения, которое заставило соединение остановиться. проблема решена путем добавления нового DesrializationBinder и изменения AssemblyName для пространства имен Android.