4

我有一个持续运行的服务器程序(Linux 上的 C#/.NET 2.0 单声道),我想从 PHP 脚本连接到它以在网站上显示状态信息。

目的是创建一个(某种)实时浏览器游戏(无 Flash,无 Silverlight),我想使用 PHP 脚本从 C# GameServer 获取必要的信息,即当前单位位置、玩家资源、分数、可见地图等。信息每秒更新一次,甚至更快,但操作可能需要数小时甚至数天(即研究可能需要一周才能完成)

是否有任何库可以让我轻松地在程序的这两个部分之间传输信息?

我的想法:

  • 使用嵌入式 WebServer 并通过 PHPs SoapClient 连接。
    有没有人有使用免费嵌入式 WebServer 的经验(免费,因为游戏是免费的)?

  • 套接字编程和传输 JSON/XML/SOAP 块。
    对于 PHP/C# 的这种类型的网络通信,是否有任何简单的库可以自动从套接字读取,直到消息完成,然后将事件发送到游戏控制器?

  • 只需将每个用户和全局数据转储到数据库或 xml 文件
    中最简单的解决方案,但恕我直言,可扩展性不够。

你有什么建议?

提前致谢。

其他有类似问题的人的补充:

在发布此问题后进行更多研究后,我偶然发现了.NET System.Net.HttpListener,它甚至受单声道支持,所以我现在将使用它。它似乎拥有将 WebServer 嵌入到您正在运行的服务器中所需的一切。


4

2 回答 2

1

只需在 C# 服务器上运行一个简单的服务器,通过套接字从客户端 (PHP) 连接到它。您必须为交互编写“规则”,但可以避免 JSON/SOAP 等带来的开销。另一个解决方案是使用 XMLRPC 服务器。

于 2010-02-04T13:59:55.497 回答
1

我会使用一个简单的嵌入式网络服务器,只需使用 PHP Curl 扩展与其交互http://php.net/manual/en/book.curl.php。对于嵌入式网络服务器,我会开始查看 codeplex,例如http://www.codeplex.com/webserver

于 2010-02-04T14:03:42.480 回答