在PHP Rabbit使用者中(表示该过程正在长时间运行,在从队列使用的消息上调用代码),我使用以下代码将数据发送到远程服务器
$sock = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
socket_set_block($sock);
socket_connect($sock, $this->host, self::DEFAULT_PORT);
socket_send($sock, $message, strlen($message), MSG_EOF);
socket_shutdown($sock);
socket_close($sock);
但是,在约1%的呼叫中,我从PHP收到此错误
警告:socket_connect():无法连接[99]:无法分配请求的地址
这种情况发生在负载稍高时,例如消耗200条消息/秒。可能是什么原因?
使用rabbitmq时,消费者立即重试失败的消息,然后成功。