2012-01-30 6 views
1

Mono用のサンプルアプリケーションの開発を開始しました。主な仕事は、アンドロイドタブレットにクライアントからの接続を待ち受けるTCPソケットサーバーを実装することです。接続後、クライアントはリアルタイムデータの送信を開始し、アンドロイドアプリケーションはデータを画面に表示します。これはアンドロイド上にサーバー側を実装するために重要です。私はAndroid/C#のMonoを使用しています。私はすでに約1週間のGoogleの検索とサンプルブラウジングがあります。C#を使用してAndroid用にMonoでAsync Socketを使用することはできますか?

私の質問は:非同期TCPソケットがアンドロイドモノフレームワークで動作するかどうかです。 "Windowsアプリケーション"プラットフォームで "Windowsアプリケーション"プラットフォームで使用すると、コードがうまく動作するためです。しかし、私はそれを "Windowsアプリケーション"に "アンドロイド"に変更すると、接続は単に切断されます。

私は質問が賃金であることを知っています。私は皆さんがサンプルソースを期待していることを知っています...サンプルを置く場所があれば、間違いなくそれを置くでしょう!私はすでにエミュレータtelnetコンソール「REDIR」コマンドを使用して

  • 接続が確立したが、データがサーバー(アンドロイド側)に受信されていないTCPポートを転送し、私はAndroidのアピ12エミュレータ
  • のためのモノを使用しています

    任意のヘルプ/サンプル/ガイドは

  • +0

    デバイスで試しましたか?私はエミュレータのネットワーキング設定がかなり狂っているのを知っています。 Windowsで動作する場合、MonoDroidでソケットを使用しても動作しない理由はわかりません。 – jonathanpeppers

    +0

    「MonoTouch **」は「iOS用モノ」、「Android用モノ」は「Android用モノ」です。彼らはかなり多くを共有するが、彼らは異なる製品です。 – poupou

    +0

    アップデート:読んでコメントする時間をありがとう。私はちょうどその問題を発見した。サーバーの 'windows'バージョンと 'android'バージョンの唯一の違いは、 'メッセージ逆シリアル化'名前空間にありました。 DeserializationAppDomainBinderの "BindToType"メソッドでアセンブリ名を変更することで解決されています(blabla.mono.net/blabla.windows.net)。メッセージがサーバー側に届きました。 – Afshin

    答えて

    3

    を理解されるであろうことは、モノを使ってAndroidの中で非同期ソケットを持つことが可能です。このシナリオでは、Windowsアプリケーションとの特別な違いはありません。私の問題は実際には、接続を停止させたメッセージのデシリアライズからでした。 新しいDesrializationBinderを追加し、Android名前空間のAssemblyNameを変更することで問題を解決しました。