2012-01-30 22 views
1

我刚开始为Mono开发一个示例应用程序。主要任务是在android平板电脑上实现一个tcp-socket服务器,以侦听来自客户端的连接。连接后客户端开始发送实时数据,android应用程序在屏幕上显示数据。这对于在android上实现服务器端很重要。我正在使用Mono for Android/C#。我已经有大约一周的谷歌搜索和样本浏览。是否有可能使用C#在Mono中为Android安装异步套接字?

我的问题是:如果异步TCP套接字工作在android单声道框架或不。因为我的代码在“windows应用程序”到“windows应用程序”平台中使用时工作正常。但是当我把它改为“windows应用程序”到“android”时,连接就会断开。

我知道问题是工资问题,我知道你们都期望样品来源......如果我有一个地方放样品,我肯定会把它!

  • 我使用单声道的Android阿比12模拟器
  • 我已经在使用仿真器telnet控制台“再导向”命令
  • 连接建立但数据并不在服务器上接收到转发的TCP端口(机器人侧)

任何帮助/样品/导向将会理解

+0

你在设备上试过了吗?我知道让模拟器的网络设置非常疯狂。我不明白为什么使用套接字在MonoDroid中不起作用,如果它在Windows中工作。 – jonathanpeppers 2012-01-30 12:57:08

+0

快速不要说** MonoTouch **是“Mono for iOS”,而“Mono for Android”是“Mono for Android”。他们分享了很多,但他们是不同的产品。 – poupou 2012-01-30 13:01:16

+0

更新:感谢球员阅读和评论的时间。我刚刚发现了这个问题。 'windows'版本的服务器和'android'版本之间的唯一区别在于'消息反序列化'命名空间。 (blabla.mono.net/blabla.windows.net),它已通过更改DeserializationAppDomainBinder的“BindToType”方法中的程序集名称解决。现在消息到达服务器端很好,顺利:)再次感谢。 – Afshin 2012-01-30 21:04:21

回答

3

有可能使用单声道具有异步插槽中的Android。这个场景的windows应用程序没有特定的区别。我的问题实际上是从反序列化导致连接停止的消息。 问题通过添加新的DesrializationBinder和更改Android命名空间的AssemblyName来解决。