HerokuでSSE使ったら途中で切れることがあるなーと思ったら単なるリクエストタイムアウトだった。 ロングポーリング系は30秒最初のレスポンスがないか、途中で55秒何も送らなかっらコネクション切られるらしい。 SSEではコロンで始まる行はコメントとみなされるので、これをタイムアウト対策で定期的におくるのがよい。 例えばPOSTされたデータを定期的に通知するようなNode.jsのサーバーをこんな感じで書いてみた。 var express = require('express'); var http = require('http'); var app = express(); var EventEmitter = require('events').EventEmitter; var ev = new EventEmitter(); app.use(express.bodyParser()