socket_create与fsockopen php [英] socket_create vs. fsockopen php

查看:90
本文介绍了socket_create与fsockopen php的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我当前使用的托管服务不允许我使用套接字,这可能是出于很好的原因.但是,它们确实允许我使用 fsockopen .我想知道有什么区别,因为某些与 socket_create 甚至 stream_socket_server 一起使用的脚本与 fsockopen 不一起使用.就是说,如果 fsockopen 应该起作用,我的代码将在下面列出.它所做的是,它在自己的IP地址上侦听传入的udp数据包并读取它们.

The hosting service that I use currently does not let me use sockets, probably for good reason on their part. They do, however, let me use fsockopen. I was wondering what the difference is, because some scripts that worked with socket_create and even stream_socket_server, do not work with fsockopen. That said, if fsockopen should work, my code is listed below. What it does is it listens on its own ip address for incoming udp packets and reads them.

谢谢

$sock = fsockopen("udp://x.x.x.x", $port);
while(1)
{
    $buf = fread($sock, 200);
    flush();
    ob_flush();
}

推荐答案

fsockopen 创建与主机的连接,而不是与监听套接字的连接.

fsockopen creates a connection to a host, not a listening socket.

fsockopen($ address)〜== socket_connect ( socket_create (),$ address)

fsockopen($address) ~== socket_connect(socket_create(), $address)

您的托管服务提供商不希望您在备用端口/协议上监听.

Your hosting provider doesn't want you listening on alternate ports/protocols.

如果您拥有的东西可以工作,那么我就不会指望它总是能正常工作,因为那将是一个错误.

If what you have works, I wouldn't count on it always working as it would be a bug.

这篇关于socket_create与fsockopen php的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆