1

我已经使用 C# 中的套接字为 .NET 3.5 编写了一个服务器/客户端应用程序。我有兴趣将客户端部分移植到某种移动设备上,并且正在考虑最好的方法。客户端实际上是一个底层库和一个严重依赖于触摸界面功能的 GUI。

正如我所看到的,我有几个选择:

  1. 只需要一台 EEE PC 并在其上运行,这有点便携,但我失去了触控部分
  2. 为移动平台重建库并制作一个新的、简化的 GUI 应用程序
  3. 启动一个 Web 服务器并制作某种 Web 界面以在 iPhone 上运行等等

最好的路线是什么?我在上面的替代方案中会遇到什么问题?我真的更喜欢替代 1 或 2 而不是 3,因为服务器当前是如何完成的,而且我对网络服务器或 ASP.NET 一无所知。哦,我想留在我已经在的环境中,即 .NET,所以请不要 Ruby on Rails 建议。(不是说 Ruby 不好或其他什么,我只是不知道,也没有时间学习)。

4

3 回答 3

1

那我会选择选项2。将库移植到 Compact Framework 并提供它只是套接字等不会花费您太长时间(希望如此),那么我确信 CF 会很好地处理它。

编辑:选项 2 的唯一问题是如果您使用任何不在 CF 中的 .Net 函数。如果是这种情况,您通常可以在 OpenNETCF 中找到它。

您将需要创建一个新的 GUI,但如果您已经对库进行了很好的编码,那么它应该只是在您的设备上适用的情况下分配方法/事件。

我想说虽然选项 3 是最好的选择 - 它极大地扩展了您的客户群,尤其是随着 WM 和 iPhone 用户数量的增加。

于 2009-02-19T13:07:18.267 回答
1

我会选择选项2。

System.Net.Sockets 命名空间中的TcpClient 类类的大部分成员都是在 .Net Compact Framework 中实现的。

我很想了解您在选择移动设备时的要求。Windows Mobile Smartphone 和 EEE PC 之间有很多不同之处。

于 2009-02-24T23:09:46.237 回答
1

尼克拉斯,

在您决定在移动客户端上使用的技术堆栈之前,您需要确定他们将拥有哪些移动设备,这往往会为您决定技术。

iPhone - Objective C 黑莓 - Java Nokia - C/Java Windows - .NET CF

否则有可能把客户端变成一个移动网站,然后通过你的 TCP Socket 东西与服务器通信吗?这样您就无需担心移动设备上的技术。

于 2009-02-25T00:00:54.630 回答