$socket = stream_socket_client('udp://'.$_GET["ip"].':'.$_GET["port"]);
if (!$socket) {
die("not ok");
}
在我看来,这将检查是否可以连接,如果不能;死于消息“不好”。但这只会给我错误 500,当我打开报告时,它会更深入地说明原因,例如它无法连接到套接字。
为什么这不会死,而是给出错误500?有什么方法可以让我知道我的套接字是否连接,在它杀死网站之前?
编辑:我的 GET 设置了 ip 和端口
IP正确时可以连接
最佳答案
UDP 本身是一种不可靠的传输协议(protocol)。
你会 从不能够检查是否存在问题,即使您实际上是从套接字发送数据报。
因此,依靠这个假设,只需遵循套接字 API 规范并发送您的消息。如果消息收到正常,则您无能为力。
如果您不满意,请考虑传递给 TCP 套接字。
关于PHP套接字检查是否未连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46750252/