MaxxDamage, У вас маршрут не через ту сеть. Сответственно, пакеты уходят через один интерфейс, а возвращаются через другой. Вывод команды route покажите.
m4son, Одна пустая строка всё равно будет, поскольку fputcsv выводит символы переноса строки.
Ну и убедитесь, что завершающий тэг убран во всех скриптах цепочки, по которой вызывается этот скрипт.
szQocks, Скорее, многие-ко-многим.
С сокетами всё зависит от нагрузки. Пока одновременно идёт десяток-другой аукционов, скорее всего справится и один WS-сервер, который просто будет проверять активность аукциона, возможно, кэшируя себе при первом запросе те, которые ожидаются в ближайшее время или уже идут. Примерно так:
- пришёл запрос с id аукциона.
- если аукциона нет в кэше, то запрашиваем его из БД.
- если аукцион начнётся в течение 10 минут или уже идёт, заносим его в кэш.
- проверяем время аукциона.
- если аукцион неактивен, даём отказ.
- если аукцион активен, то обрабатываем запрос.
- периодически удаляем из кэша все закончившиеся аукционы.
Sun2790, Какую скорость мы теряем? Без преобразования строки JSON в массив/объект/значение вам надо будет для получения каждого значения заново парсить всю строку.