로드 균형 조정을 보장하기 위해 여러 cloudfoundry 인스턴스가있는 IBM Bluemix에서 socket.io 응용 프로그램을 배포해야합니다.bluemix에서 socket.io 끈적 세션을 구성하는 방법
나는 socket.io 문서와이 link에 따라 sticky 세션을 사용하고 각 소켓이 올바른 인스턴스로 이동하는지 확인했습니다.
불행히도 내 클라이언트는 연결 이벤트 직후 연결이 끊어지고 '400 xhr poll'오류가 발생합니다. Google 검색을 몇 시간 후
const cookieParser = require('cookie-parser')
const session = require('express-session')
const redis = require('redis')
const app = require('express')()
const http = require('http').Server(app)
const io = require('socket.io')(http)
const RedisStore = require('connect-redis')(session)
const redisUrl = 'myredis'
var session = session({
store: new RedisStore({client: client}),
secret: 'mysecret',
name: 'jsessionid',
resave: true,
saveUninitialized: true
})
app.use(cookieParser)
app.use(session)
io.on('connection', function (socket) {
console.log('a user is connected')
socket.on('testPing', function() {
socket.emit('testPong', {})
})
})
http.listen(process.env.PORT || 3000, function() {
console.log('listening on *:' + (process.env.PORT || 3000))
})
, 난 더 이상 시도 해야할지 모르겠어 :
여기 내 서버 코드입니다. 정말 도움이 필요해.
미리 감사드립니다.
코드에 jsessionid 소문자가 있습니다. 대문자로 해봤습니까? –
니스! 고마워 크리스, 이제 완벽하게 작동합니다! – Hepatus
차가움. 나는 이것을 답으로 추가했다. 수락 하셔서 투표 하시겠습니까? –