【问题标题】:Dataexchange between C# Server (Not Webserver) and PHPC# 服务器(不是 Web 服务器)和 PHP 之间的数据交换
【发布时间】:2011-01-13 02:18:01
【问题描述】:

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

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

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

我的想法:

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

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

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

你有什么建议?

提前致谢。

其他有类似问题的补充:

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


【问题讨论】:

    标签: c# php networking dynamic-data-exchange


    【解决方案1】:

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

    【讨论】:

    • 您知道易于集成的嵌入式网络服务器吗?我只找到了codeplex.com/webserver,而且那个选项似乎太多了,仍然算作“简单”,而且对于这个项目来说可能有点矫枉过正。
    • 也许这个stackoverflow链接对stackoverflow.com/questions/458036/…有帮助,我看到那里也提到了这个嵌入式服务器:runkayak.com
    • 谢谢,看起来正是我需要的。
    【解决方案2】:

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

    【讨论】:

    • 是否有任何(好的和免费的)库可以做到这一点?我不想写整个套接字的东西,因为它可能非常复杂(检查丢失的连接、超时、异步读/写、多个并行连接......)而且它不在我真正想要的范围内为这个项目创建。
    猜你喜欢
    • 2013-02-09
    • 1970-01-01
    • 1970-01-01
    • 2018-03-03
    • 2022-01-21
    • 1970-01-01
    • 1970-01-01
    • 2016-08-30
    • 1970-01-01
    相关资源
    最近更新 更多