使用fsockopen创建TCP服务器?

时间:2012-01-31 09:34:14

标签: php sockets tcp

我的网络托管公司只允许fsockopen函数创建套接字。我正在构建一个需要TCP服务器来传输消息的Android应用程序。所以我的问题是用fsockopen构建TCP服务器而不使用socket_create是可行的吗?任何帮助或建议都非常感谢。

2 个答案:

答案 0 :(得分:2)

fsockopen()仅创建客户端套接字 。无法使用该功能创建侦听套接字。

在PHP中创建侦听(服务器)TCP套接字的唯一方法是使用Streams extension(请参阅stream_socket_server()) - 您可能会发现这也是可用的 - Sockets extension ,这种可能性较小。

即使您可以创建侦听套接字,您可能会发现除非您可以控制服务器的防火墙,否则无法对其进行任何有用的操作。

答案 1 :(得分:1)

不,这是不可能的,因为fsockopen只能用于启动连接。

如果您坚持使用非HTTP TCP连接,则可以让服务器连接回客户端。但这会破坏(NAT)防火墙背后的客户端。

否则,您可以简单地使用HTTP,这至少允许从服务器到客户端的流式传输。 (通过禁用输出缓冲,可能还需要一些额外的flush次呼叫)

相关问题