-1

我需要用java编写一个与Web服务器通信的应用程序。我知道如何做到这一点,使用 PHP,但恐怕它不会在这个中削减它。

这是我的情况。我有多个客户端,当其中一个向服务器发送特定消息时(到目前为止,PHP 没有问题),我希望它向所有其他连接的客户端发送特定消息。问题是,我几乎找不到任何关于 PHP 中服务器套接字的信息,这让我相信这不是实现这一目标的正确方法。到目前为止,我正在使用付费托管 (x10premium) 来托管我的服务器,所以我想用这个来做,但是,我不确定 PHP 是否可行。目前,我让每个客户端定期检查服务器是否收到来自其他任何客户端的消息,但我不喜欢这个解决方案......我希望有人能指出我正确的方向。我不太了解 Ruby 和其他用于执行此类操作的语言,

提前致谢

编辑:忘了提,服务器(目前是 PHP)也将与 MySQL 表通信。如果重要的话。

4

1 回答 1

1

这是 PHP 套接字服务器/客户端的一个很好的例子:http: //tech.navarr.me/2010/07/how-to-create-a-socket-server-in-php.html

您可以像使用 JAVA 一样执行此操作,但请记住 PHP 不支持多线程或多处理,因此如果 10 个客户端同时连接到您的服务器,您将一个一个地处理它们,因此最终 1 个必须等待其他 9 个完成 - 一切,数据库和连接开销。

例如,如果您使用 JAVA 或 Python 执行此操作,则可以在单独的线程中处理每个请求,以便同时处理 DB 和网络通信开销。

Python 内置了套接字服务器组件和漂亮且易于使用的 mysql 组件,这将使实现这一目标变得轻而易举,甚至根本不需要了解线程。

对于 python 套接字服务器,请参见此处:

http://docs.python.org/library/socketserver.html

基本上,您只需定义一个将为每个新客户端连接执行的函数并告诉服务器serve_forever()- 直到它死亡,它会做你想做的事。

于 2012-09-19T22:37:01.767 回答