【问题标题】:Creating TCP Server using fsockopen?使用 fsockopen 创建 TCP 服务器?
【发布时间】:2012-01-31 17:51:55
【问题描述】:

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

【问题讨论】:

    标签: php sockets tcp


    【解决方案1】:

    fsockopen()只创建客户端套接字。无法使用该函数创建侦听套接字。

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

    即使你可以创建一个监听套接字,你也可能会发现你无法用它做任何有用的事情,除非你可以控制服务器的防火墙等等。

    【讨论】:

      【解决方案2】:

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

      如果您坚持使用非 HTTP TCP 连接,您可以让服务器连接回您的客户端。但这会在 (NAT) 防火墙后面的客户端上中断。

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

      【讨论】:

        猜你喜欢
        • 2015-02-05
        • 2014-09-22
        • 1970-01-01
        • 2014-02-21
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-04-23
        相关资源
        最近更新 更多