我有一个套接字服务器,它在某些传入的连接请求上中断(它在 stream_socket_accept() 上在这些请求上停留了整整一分钟,尽管default_socket_timeout是 10 秒)。
在执行stream_socket_accept()之前,有没有办法获取客户端的IP地址?
是否有服务器日志可以深入了解当有人 ping 服务器上的任何给定端口时更深层次发生的事情?
也许这样我就可以追踪这个问题。
在接受连接之前,您无法获取远程 IP 地址。您必须改用防火墙。
您可以在stream_socket_accept后使用 stream_socket_get_name(socket, true),也可以使用 stream_socket_accept 的 3 参数版本,它允许您设置超时并返回远程 IP。