6

我想为多个客户端在 php 中为服务器创建 http 套接字连接。我怎样才能做到这一点 ?我需要一些资源。

首先,我试图在 java 中创建服务器。我在 java 中创建服务器。并试图从android应用程序访问。但是服务器找不到任何客户端。但是当我在java中创建客户端时。它正在工作。我该如何解决这个问题???

4

5 回答 5

4

看看这篇文章:

Zend用 PHP 编写套接字服务器

也试试谷歌:

http://www.google.com/search?aq=0&oq=php+socket+server+mul&sourceid=chrome&ie=UTF-8&q=php+socket+server+multiple+clients

于 2011-05-09T13:22:41.940 回答
2

就我个人而言,我认为这将是一个非常糟糕的主意,正如已经提到的那样,它缺少线程,并且它的 Socket 支持 (imo) 并不是那么适应性强。

唯一的优点是您可以使用forkfork 另一个 PHP 进程来处理客户端,但您会变得非常复杂。

另一种语言将更适合这种类型的开发。

请注意,即使您在 PHP 中执行此操作,您也可能无论如何都必须依赖外部服务,甚至最终可能至少要用另一种语言编写一些代码。

于 2011-05-09T13:25:13.660 回答
1

虽然我喜欢 php 和 java,但我用 c++ 编写了我的套接字服务器,在亚马逊 ec2 云服务器的灯下运行。它的编码和调试非常非常简单且安全,您实际上只需复制/粘贴示例即可。

从长远来看,由于可移植性和可扩展性,我可能会开发一个 java 解决方案,但是让 c++ 解决方案工作的最初努力比实现一个 java 解决方案要少得多......

您必须确定(找出)的第一件事是您的服务器是否允许您打开自定义端口。amazon ec2 在这个时间点(2 月 13 日)可以免费使用 12 个月。

所以,如果你赶时间,这是给你的:

此处的这组示例具有您立即启动和运行所需的一切。

于 2013-02-06T14:39:08.577 回答
1

你想用 PHP 做什么?请注意,我喜欢 PHP 并且几乎每天都在使用它,但请记住 PHP 本身是基于请求和响应的,不太适合长时间运行的进程。以一种练习的方式,这可能很有趣,但是如果您尝试使用 PHP 从头开始​​编写 Web 服务器,您可能需要重新考虑您选择的语言。

也就是说,您可以创建一个充当服务器的套接字,并监听传入的数据包。我仍然认为你在重新发明轮子。

于 2011-05-18T09:27:50.367 回答
0

从问题标题来看(其余的只会让它更加混乱),您可以使用诸如http://pear.php.net/package/HTTP_Server之类的现有包在 PHP 中实现网络服务器。它已经包含socket接受客户端连接和内容的所有代码。

所以我必须做些什么才能从不同的客户端找到服务器

“寻找”这个话题太宽泛了。取决于你的实际设置。在 LAN 上,有一些可发现性协议。否则,您应该只依赖于实例化服务器的固定机器名称和端口号。您可以以例如http://localhost:8007/或任何您预定义的方式连接到它。

于 2011-05-18T09:08:09.773 回答