Socket.io: ๆŽฅ็ถšใ•ใ‚ŒใŸใ‚ฏใƒฉใ‚คใ‚ขใƒณใƒˆ/ใ‚ฝใ‚ฑใƒƒใƒˆใฎๆ•ฐ

ไฝœๆˆๆ—ฅ 2011ๅนด08ๆœˆ14ๆ—ฅ  ยท  53ใ‚ณใƒกใƒณใƒˆ  ยท  ใ‚ฝใƒผใ‚น: socketio/socket.io

ใ“ใ‚“ใซใกใฏใ€

็พๅœจๆŽฅ็ถšใ•ใ‚Œใฆใ„ใ‚‹ใ™ในใฆใฎใ‚ฏใƒฉใ‚คใ‚ขใƒณใƒˆใฎๆ•ฐใ‚’ๅ–ๅพ—ใ™ใ‚‹ใŸใ‚ใซio.sockets.clients().lengthใ‚’ไฝฟ็”จใ—ใฆใ„ใพใ™ใŒใ€ใ—ใฐใ‚‰ใใ™ใ‚‹ใจใ“ใฎๆ•ฐใŒๅคšใใชใ‚Šใ€ๅคšใใฎๅˆ‡ๆ–ญใ•ใ‚ŒใŸใ‚ฏใƒฉใ‚คใ‚ขใƒณใƒˆใŒใ“ใฎใ‚ขใƒฌใ‚คใซใพใ ๅญ˜ๅœจใ—ใพใ™ใ€‚

io.sockets.clients().length็”ปๅƒใฎไธ‹ใซใ€5ๅˆ†ใ”ใจใซ24ๆ™‚้–“ใƒ—ใƒญใƒƒใƒˆใ•ใ‚Œใฆใ„ใพใ™ใ€‚ ใ‚ซใ‚ฆใƒณใƒˆใŒ็ด„2kใซ้”ใ—ใŸใ‚‰ใ€ใ‚ตใƒผใƒใƒผใ‚’ๅ†่ตทๅ‹•ใ—ใ€็ด„200ใ€œ300ใฎใ‚ฏใƒฉใ‚คใ‚ขใƒณใƒˆใŒๅ†ๆŽฅ็ถšใ—ใพใ—ใŸใ€‚ใ“ใ‚Œใฏใ€ๆญฃใ—ใ„ใ‚ซใ‚ฆใƒณใƒˆใงใ™ใ€‚

Connected Clients

ใ“ใ‚Œใฏใ€ๆŽฅ็ถšใ•ใ‚Œใฆใ„ใ‚‹ใ™ในใฆใฎใ‚ฏใƒฉใ‚คใ‚ขใƒณใƒˆใฎๆ•ฐใ‚’ๅ–ๅพ—ใ™ใ‚‹ใŸใ‚ใฎ้–“้•ใฃใŸๆ–นๆณ•ใงใ™ใ‹๏ผŸ ใพใŸใ€ๆŽฅ็ถšใจๅˆ‡ๆ–ญใ‚’ๆ‰‹ๅ‹•ใงใ‚ซใ‚ฆใƒณใƒˆใ—ใ‚ˆใ†ใจใ—ใพใ—ใŸใŒใ€ใ‚ใ‚‹ๆ—ฅใ€ๆŽฅ็ถšใ‚ˆใ‚Šใ‚‚ๅˆ‡ๆ–ญใŒๅคšใ‹ใฃใŸใŸใ‚ใ€ใ‚ซใ‚ฆใƒณใƒˆใฏ่ฒ ใซใชใ‚Šใพใ—ใŸใ€‚

้–ข้€ฃ๏ผš https ๏ผš

Performance bug

ๆœ€ใ‚‚ๅ‚่€ƒใซใชใ‚‹ใ‚ณใƒกใƒณใƒˆ

L2C FAF IT RTFM !!!
+
โ–‘โ–‘โ–‘โ–‘โ–‘โ–ˆโ–‘โ–‘โ–‘โ–‘โ–’โ–’โ–’โ–’โ–’โ–’โ–’โ–’โ–’โ–’โ–’โ–’โ–‘โ–‘โ–€โ–€โ–„โ–‘โ–‘โ–‘โ–‘
โ–‘โ–‘โ–‘โ–‘โ–ˆโ–‘โ–‘โ–‘โ–’โ–’โ–’โ–’โ–’โ–’โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–’โ–’โ–’โ–‘โ–‘โ–ˆโ–‘โ–‘โ–‘
โ–‘โ–‘โ–‘โ–ˆโ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–„โ–ˆโ–ˆโ–€โ–„โ–„โ–‘โ–‘โ–‘โ–‘โ–‘โ–„โ–„โ–„โ–‘โ–‘โ–‘โ–‘โ–ˆโ–‘โ–‘
โ–‘โ–„โ–€โ–’โ–„โ–„โ–„โ–’โ–‘โ–ˆโ–€โ–€โ–€โ–€โ–„โ–„โ–ˆโ–‘โ–‘โ–‘โ–ˆโ–ˆโ–„โ–„โ–ˆโ–‘โ–‘โ–‘โ–‘โ–ˆโ–‘
โ–ˆโ–‘โ–’โ–ˆโ–’โ–„โ–‘โ–€โ–„โ–„โ–„โ–€โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–ˆโ–‘โ–‘โ–‘โ–’โ–’โ–’โ–’โ–’โ–‘โ–ˆ
โ–ˆโ–‘โ–’โ–ˆโ–‘โ–ˆโ–€โ–„โ–„โ–‘โ–‘โ–‘โ–‘โ–‘โ–ˆโ–€โ–‘โ–‘โ–‘โ–‘โ–€โ–„โ–‘โ–‘โ–„โ–€โ–€โ–€โ–„โ–’โ–ˆ
โ–‘โ–ˆโ–‘โ–€โ–„โ–‘โ–ˆโ–„โ–‘โ–ˆโ–€โ–„โ–„โ–‘โ–€โ–‘โ–€โ–€โ–‘โ–„โ–„โ–€โ–‘โ–‘โ–‘โ–‘โ–ˆโ–‘โ–‘โ–ˆโ–‘
โ–‘โ–‘โ–ˆโ–‘โ–‘โ–‘โ–€โ–„โ–€โ–ˆโ–„โ–„โ–‘โ–ˆโ–€โ–€โ–€โ–„โ–„โ–„โ–„โ–€โ–€โ–ˆโ–€โ–ˆโ–ˆโ–‘โ–ˆโ–‘โ–‘
โ–‘โ–‘โ–‘โ–ˆโ–‘โ–‘โ–‘โ–‘โ–ˆโ–ˆโ–‘โ–‘โ–€โ–ˆโ–„โ–„โ–„โ–ˆโ–„โ–„โ–ˆโ–„โ–ˆโ–ˆโ–ˆโ–ˆโ–‘โ–ˆโ–‘โ–‘โ–‘
โ–‘โ–‘โ–‘โ–‘โ–ˆโ–‘โ–‘โ–‘โ–‘โ–€โ–€โ–„โ–‘โ–ˆโ–‘โ–‘โ–‘โ–ˆโ–‘โ–ˆโ–€โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–‘โ–ˆโ–‘โ–‘
โ–‘โ–‘โ–‘โ–‘โ–‘โ–€โ–„โ–‘โ–‘โ–‘โ–‘โ–‘โ–€โ–€โ–„โ–„โ–„โ–ˆโ–„โ–ˆโ–„โ–ˆโ–„โ–ˆโ–„โ–€โ–‘โ–‘โ–ˆโ–‘โ–‘
โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–€โ–„โ–„โ–‘โ–’โ–’โ–’โ–’โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–’โ–‘โ–‘โ–‘โ–ˆโ–‘
โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–€โ–€โ–„โ–„โ–‘โ–’โ–’โ–’โ–’โ–’โ–’โ–’โ–’โ–’โ–’โ–‘โ–‘โ–‘โ–‘โ–ˆโ–‘
โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–€โ–„โ–„โ–„โ–„โ–„โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–ˆโ–‘โ–‘
โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–‘โ–‘โ–‘

ๅ…จใฆใฎใ‚ณใƒกใƒณใƒˆ53ไปถ

+1ใ€‚ ็งใฎๅ ดๅˆใ€ใ“ใ‚Œใฏใƒกใƒขใƒชใฎๅ•้กŒใ‚’ๅผ•ใ่ตทใ“ใ™ๆœ€ๅพŒใฎๅ•้กŒใ ใจๆ€ใ„ใพใ™๏ผˆใ‚ปใ‚ฐใƒกใƒณใƒ†ใƒผใ‚ทใƒงใƒณ้•ๅใพใงๆˆ้•ทใ—ใพใ™๏ผ‰ใ€‚

ใฏใ„ใ€ใ“ใ“ใงใ‚ปใ‚ฐใƒกใƒณใƒ†ใƒผใ‚ทใƒงใƒณ้•ๅใŒ็™บ็”Ÿใ—ใ€1ๆ—ฅใซ็ด„2ๅ›žใ‚ฏใƒฉใƒƒใ‚ทใƒฅใ—ใพใ™ใ€‚

ใ€Œใƒ‰ใ‚ญใƒฅใƒกใƒณใƒˆใ€ใซ่จ˜่ผ‰ใ•ใ‚Œใฆใ„ใพใ™๏ผš
http://labs.learnboost.com/socket.io/

Socket.IO Node.JSใ‚ตใƒผใƒใƒผ/ใƒชใ‚นใƒŠใƒผใ‚ปใ‚ฏใ‚ทใƒงใƒณใฎไธ‹๏ผˆใ€Œใ‚นใƒ—ใƒฉใ‚คใ‚นใ€ใฎใƒšใƒผใ‚ธใฏใ‚่พผใฟๆคœ็ดขใ‚’ๅฎŸ่กŒใ—ใพใ™๏ผ‰ใ€‚ ๅผ•็”จใ™ใ‚‹ใซใฏ๏ผš

ใ€Œใ‚ฏใƒฉใ‚คใ‚ขใƒณใƒˆใฎใ‚ขใƒฌใ‚คใ€‚้‡่ฆ๏ผšๅˆ‡ๆ–ญใ•ใ‚ŒใŸใ‚ฏใƒฉใ‚คใ‚ขใƒณใƒˆใฏnullใซ่จญๅฎšใ•ใ‚Œใ€ใ‚ขใƒฌใ‚คใฏใ‚นใƒ—ใƒฉใ‚คใ‚นใ•ใ‚Œใพใ›ใ‚“ใ€‚ใ€

ๆ€่€ƒใ‹ใ‚‰ใ‚ณใƒผใƒ‰ใ€ใƒ‰ใ‚ญใƒฅใƒกใƒณใƒˆใซ่‡ณใ‚‹ใพใงใ€ๅˆ‡ๆ–ญใ•ใ‚ŒใŸใƒฆใƒผใ‚ถใƒผใŒใ“ใฎ้…ๅˆ—ใ‹ใ‚‰ๅ‰Š้™คใ•ใ‚Œใชใ„็†็”ฑใŒใ„ใใคใ‹ใ‚ใ‚‹ๅฟ…่ฆใŒใ‚ใ‚‹ใ“ใจใ‚’ๆ„ๅ‘ณใ—ใพใ™ใ€‚ใใฎ็†็”ฑใŒไฝ•ใงใ‚ใ‚‹ใ‹ใ‚’ๆŽจๆธฌใ™ใ‚‹ใ“ใจใฏใงใใพใ›ใ‚“ใ€‚ ๆœ€่‰ฏใฎใ‚ทใƒŠใƒชใ‚ชใฏใ€CONNECTEDใƒฆใƒผใ‚ถใƒผใ‚’่ฟฝ่ทกใ™ใ‚‹ใฎใŒ้ขๅ€’ใงใ‚ใ‚Šใ€ๆœ€ๆ‚ชใฎๅ ดๅˆใ€node.js /socket.ioใ‚ตใƒผใƒใƒผๅฎŸ่ฃ…ใฎๅฎ‰ๅฎšๆ€งใฎๆฌ ๅฆ‚ใซๅฏ„ไธŽใ™ใ‚‹ใ“ใจใงใ™ใ€‚

ใƒ‘ใƒ•ใ‚ฉใƒผใƒžใƒณใ‚นใƒใ‚ฐใจใ—ใฆใƒžใƒผใ‚ฏใ•ใ‚Œใฆใ„ใพใ™ใ€‚

็งใฏๅŒใ˜ๅ•้กŒใ‚’ๆŠฑใˆใฆใ„ใพใ™ใ€‚

ใใ—ใฆใ€ๆŽฅ็ถšใ‚คใƒ™ใƒณใƒˆไธญใฏi +1ใ€ๅˆ‡ๆ–ญไธญใฏ-1ใงใ€ใ„ใใคใ‹ใฎๅค‰ๆ•ฐใซๅŸบใฅใ„ใฆ็•ชๅทใ‚’ไฝœๆˆใ—ใพใ™ใ€‚ ๏ผˆใ—ใŸใŒใฃใฆใ€ใ“ใ‚Œใฏnullใฎๅ•้กŒใงใฏใ‚ใ‚Šใพใ›ใ‚“๏ผ‰

ใƒฆใƒผใ‚ถใƒผๆ•ฐ๏ผš

https://skitch.com/tomekotomek/f4867/dock

CPU๏ผš

https://skitch.com/tomekotomek/f489w/dock

่จ˜ๆ†ถ๏ผš

https://skitch.com/tomekotomek/f4eyy/graph.php-747x374

ใจใ“ใ‚ใงใ€‚

ใใ‚Œใฏใƒ‘ใƒ•ใ‚ฉใƒผใƒžใƒณใ‚นใฎๅ•้กŒไปฅไธŠใฎใ‚‚ใฎใงใ‚ใ‚Šใ€็จผๅƒๆ™‚้–“ใ‚’1้€ฑ้–“ๆœชๆบ€ใซ็Ÿญ็ธฎใ™ใ‚‹ใ ใ‘ใงใ™ใ€‚

ใ“ใ‚Œใ‚’่กŒใ†ๆ–นๆณ•ใ‚’็†่งฃใ—ใŸๆ–นๆณ•ใฏใ€ใ‚ฏใƒฉใ‚คใ‚ขใƒณใƒˆIDใฎRedisใ‚ปใƒƒใƒˆใ‚’ไฝฟ็”จใ—ใ€socket.ioๆŽฅ็ถšใ‚’่ฟฝๅŠ ใ—ใฆใ€ๅˆ‡ๆ–ญๆ™‚ใซใ‚ปใƒƒใƒˆใ‹ใ‚‰ๅ‰Š้™คใ™ใ‚‹ใ“ใจใงใ—ใŸใ€‚ SCARDใ‚ณใƒžใƒณใƒ‰ใฏใ€ๆŽฅ็ถšใ•ใ‚Œใฆใ„ใ‚‹ใ‚ฏใƒฉใ‚คใ‚ขใƒณใƒˆใฎๆ•ฐใ‚’็คบใ—ใ€ใ™ในใฆใฎIDใ‚’SMEMBERSใ—ใพใ™ใ€‚

ใˆใˆใ€ใ‚ขใƒฌใ‚คใ‚’ใ‚ฏใƒชใ‚ขใ™ใ‚‹ใ‹ใ€ใ‚ฏใƒฉใ‚คใ‚ขใƒณใƒˆใ‚’ไฟๆŒใ™ใ‚‹ใŸใ‚ใฎใ‚ˆใ‚Š่‰ฏใ„ๆ–นๆณ•ใ‚’่ฆ‹ใคใ‘ใ‚‹ๅฟ…่ฆใŒใ‚ใ‚Šใพใ™ใ€‚

+1

+1

+1
ใ“ใ‚Œใฏ้–“้•ใ„ใชใใ€้…ๅˆ—ใฎ้•ทใ•ใฎๅ•้กŒไปฅไธŠใฎใ‚‚ใฎใงใ™ใ€‚
ๆŽฅ็ถš/ๅˆ‡ๆ–ญๆ™‚ใซใ‚ซใ‚ฆใƒณใ‚ฟใƒผใ‚’ใ‚คใƒณใ‚ฏใƒชใƒกใƒณใƒˆใŠใ‚ˆใณใƒ‡ใ‚ฏใƒชใƒกใƒณใƒˆใ™ใ‚‹ใจใ€ใ‚ซใ‚ฆใƒณใ‚ฟใƒผใŒๅข—ใˆ็ถšใ‘ใพใ™ใ€‚

+1

+1

+1

+1

+1

่ชฐใ‹ใŒใ“ใ‚Œใ‚’ใ•ใพใ–ใพใชใƒˆใƒฉใƒณใ‚นใƒใƒผใƒˆใซๅˆ†้›ขใ—ใ‚ˆใ†ใจใ—ใพใ—ใŸใ‹๏ผŸ IEใงๅŒใ˜ใ‚ˆใ†ใซๆฉŸ่ƒฝใ™ใ‚‹ใ‹ใฉใ†ใ‹ใ‚’็ขบ่ชใ—ใพใ™
websocketใ€flashsocketใ€xhr-pollingใชใฉใ€‚

ๅ†่ตทๅ‹•ใ›ใšใซใ‚ตใƒผใƒใƒผใ‚’ไธ€่ฒซใ—ใฆๅฎŸ่กŒใ—ใŸใพใพใซใ™ใ‚‹ใ“ใจใฏใงใใชใ„ใŸใ‚ใ€ใ“ใ‚Œใฏ้–“้•ใ„ใชใ้‡่ฆใชๅ•้กŒใงใ™ใ€‚ ใƒกใƒขใƒชใŒๅข—ใˆ็ถšใ‘ใฆใ„ใ‚‹ใฎใงใ€ๅฐ‘ใชใใจใ‚‚1ๅ›žๅ†่ตทๅ‹•ใ—ใชใ„ใจ1ๆ—ฅใ‚‚่กŒใ‘ใพใ›ใ‚“ใ€‚ ๆณจ๏ผšใƒŽใƒผใƒ‰0.4ใ€‚*ใงใฏใ€ใƒกใƒขใƒชใฏ็งใซใจใฃใฆใฏใ‚‹ใ‹ใซๅ„ชใ‚Œใฆใ„ใพใ™ใ€‚

+1

็งใฏๅŒใ˜ๅ•้กŒใ‚’็™บ่ฆ‹ใ—ใพใ—ใŸ-็งใฎ่จ˜ๆ†ถใฏใกใ‚‡ใ†ใฉใ„ใฃใฑใ„ใซใชใ‚Šใพใ™ใ€‚ ็ด„1mb /ๅˆ†

ใ‚ตใ‚คใƒˆใฎใ‚ฏใƒชใƒƒใ‚ฏใŒๅคšใ„ใŸใ‚ใซๅ†ๆŽฅ็ถšใ™ใ‚‹็ด„1500ๅ€‹ใฎใ‚ฝใ‚ฑใƒƒใƒˆใŒใ‚ใ‚Šใพใ™ใ€‚

ใƒกใƒขใƒชใƒชใƒผใ‚ฏใฎใŸใ‚ใ€ๆฏŽๆ—ฅๅ†่ตทๅ‹•ใ™ใ‚‹ๅฟ…่ฆใŒใ‚ใ‚Šใพใ™

L2C FAF IT RTFM !!!
+
โ–‘โ–‘โ–‘โ–‘โ–‘โ–ˆโ–‘โ–‘โ–‘โ–‘โ–’โ–’โ–’โ–’โ–’โ–’โ–’โ–’โ–’โ–’โ–’โ–’โ–‘โ–‘โ–€โ–€โ–„โ–‘โ–‘โ–‘โ–‘
โ–‘โ–‘โ–‘โ–‘โ–ˆโ–‘โ–‘โ–‘โ–’โ–’โ–’โ–’โ–’โ–’โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–’โ–’โ–’โ–‘โ–‘โ–ˆโ–‘โ–‘โ–‘
โ–‘โ–‘โ–‘โ–ˆโ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–„โ–ˆโ–ˆโ–€โ–„โ–„โ–‘โ–‘โ–‘โ–‘โ–‘โ–„โ–„โ–„โ–‘โ–‘โ–‘โ–‘โ–ˆโ–‘โ–‘
โ–‘โ–„โ–€โ–’โ–„โ–„โ–„โ–’โ–‘โ–ˆโ–€โ–€โ–€โ–€โ–„โ–„โ–ˆโ–‘โ–‘โ–‘โ–ˆโ–ˆโ–„โ–„โ–ˆโ–‘โ–‘โ–‘โ–‘โ–ˆโ–‘
โ–ˆโ–‘โ–’โ–ˆโ–’โ–„โ–‘โ–€โ–„โ–„โ–„โ–€โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–ˆโ–‘โ–‘โ–‘โ–’โ–’โ–’โ–’โ–’โ–‘โ–ˆ
โ–ˆโ–‘โ–’โ–ˆโ–‘โ–ˆโ–€โ–„โ–„โ–‘โ–‘โ–‘โ–‘โ–‘โ–ˆโ–€โ–‘โ–‘โ–‘โ–‘โ–€โ–„โ–‘โ–‘โ–„โ–€โ–€โ–€โ–„โ–’โ–ˆ
โ–‘โ–ˆโ–‘โ–€โ–„โ–‘โ–ˆโ–„โ–‘โ–ˆโ–€โ–„โ–„โ–‘โ–€โ–‘โ–€โ–€โ–‘โ–„โ–„โ–€โ–‘โ–‘โ–‘โ–‘โ–ˆโ–‘โ–‘โ–ˆโ–‘
โ–‘โ–‘โ–ˆโ–‘โ–‘โ–‘โ–€โ–„โ–€โ–ˆโ–„โ–„โ–‘โ–ˆโ–€โ–€โ–€โ–„โ–„โ–„โ–„โ–€โ–€โ–ˆโ–€โ–ˆโ–ˆโ–‘โ–ˆโ–‘โ–‘
โ–‘โ–‘โ–‘โ–ˆโ–‘โ–‘โ–‘โ–‘โ–ˆโ–ˆโ–‘โ–‘โ–€โ–ˆโ–„โ–„โ–„โ–ˆโ–„โ–„โ–ˆโ–„โ–ˆโ–ˆโ–ˆโ–ˆโ–‘โ–ˆโ–‘โ–‘โ–‘
โ–‘โ–‘โ–‘โ–‘โ–ˆโ–‘โ–‘โ–‘โ–‘โ–€โ–€โ–„โ–‘โ–ˆโ–‘โ–‘โ–‘โ–ˆโ–‘โ–ˆโ–€โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–‘โ–ˆโ–‘โ–‘
โ–‘โ–‘โ–‘โ–‘โ–‘โ–€โ–„โ–‘โ–‘โ–‘โ–‘โ–‘โ–€โ–€โ–„โ–„โ–„โ–ˆโ–„โ–ˆโ–„โ–ˆโ–„โ–ˆโ–„โ–€โ–‘โ–‘โ–ˆโ–‘โ–‘
โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–€โ–„โ–„โ–‘โ–’โ–’โ–’โ–’โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–’โ–‘โ–‘โ–‘โ–ˆโ–‘
โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–€โ–€โ–„โ–„โ–‘โ–’โ–’โ–’โ–’โ–’โ–’โ–’โ–’โ–’โ–’โ–‘โ–‘โ–‘โ–‘โ–ˆโ–‘
โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–€โ–„โ–„โ–„โ–„โ–„โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–ˆโ–‘โ–‘
โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–‘โ–‘โ–‘

ใƒ•ใƒฉใƒƒใ‚ทใƒฅใ‚ฝใ‚ฑใƒƒใƒˆใƒˆใƒฉใƒณใ‚นใƒใƒผใƒˆใ‚ตใƒผใƒใƒผๅดใ‚’ใ‚ชใƒ•ใซใ—ใŸใจใ“ใ‚ใ€ใƒกใƒขใƒชไฝฟ็”จ้‡ใจCPUไฝฟ็”จ็Ž‡ใŒ้žๅธธใซๅ„ชใ‚Œใฆใ„ใพใ™ใ€‚ ไป–ใฎ่ชฐใ‹ใŒใใ‚Œใ‚’่ฉฆใ—ใฆใ€ใใ‚ŒใŒๅฝน็ซ‹ใคใ‹ใฉใ†ใ‹ใ‚’็ขบ่ชใงใใพใ™ใ‹๏ผŸ

+1

็งใฏใใ‚Œใ‚’ๅ–ใ‚Šๆˆปใ—ใพใ™ใ€CPUใฏใ‚ˆใ‚Š่‰ฏใ„ใงใ™ใ€ใ—ใ‹ใ—ใƒกใƒขใƒชใฏใพใ ใ‚†ใฃใใ‚Šใจๆผใ‚Œใพใ™ใ€‚ ใ“ใ‚Œใฏใ€ใƒ•ใƒฉใƒƒใ‚ทใƒฅใƒใƒชใ‚ทใƒผใ‚ตใƒผใƒใƒผใŒใ‚ชใƒ•ใซใชใฃใฆใ„ใ‚‹ใŸใ‚ใ ใจๆ€ใ„ใพใ™ใ‹๏ผŸ

ใ€Œ+1ใ€ใงใƒ•ใ‚ฃใƒผใƒ‰ใ‚’่‚ฅๅคงๅŒ–ใ•ใ›ใชใ„ใงใใ ใ•ใ„ใ€‚ใ“ใ‚Œใฏใ‚ฐใƒผใ‚ฐใƒซใƒ—ใƒฉใ‚นใงใ‚‚ใƒ•ใ‚งใ‚คใ‚นใƒ–ใƒƒใ‚ฏใงใ‚‚ใ‚ใ‚Šใพใ›ใ‚“...

็”ท็งใฏใใ‚Œใ‚’+1ใ™ใ‚‹ๅฟ…่ฆใŒใ‚ใ‚Šใพใ™

ไปฅไธ‹ใซใ“ใฎๅ•้กŒใฎ็„กๅŠนๅŒ–้€š็Ÿฅใ‚‚ใ‚ใ‚Šใพใ™

็งใฎๅ ดๅˆใ€socket.manager.closedใ€socket.manager.handshakenใฏsocket.manager.openไปฅไธŠใฎใ‚‚ใฎใงใ™ใ€‚ ็„ก้ง„ใชๆŽฅ็ถšใ‚’ใ‚ฏใƒชใ‚ขใ™ใ‚‹ๆ–นๆณ•ใŒใ‚ใ‹ใ‚Šใพใ›ใ‚“

ใ“ใ“ใงใ‚‚ใพใฃใŸใๅŒใ˜ใงใ™ใ€‚ 4GBใฎใƒกใƒขใƒชใŒใชใใชใ‚‹ใพใงๆŽฅ็ถšใŒใพใ™ใพใ™ๅคšใใฎใƒกใƒขใƒชใ‚’ๆถˆ่ฒปใ™ใ‚‹ใŸใ‚ใ€1ๆ—ฅใซไฝ•ๅบฆใ‚‚ใ‚ตใƒผใƒใƒผใ‚’ๅ†่ตทๅ‹•ใ™ใ‚‹ๅฟ…่ฆใŒใ‚ใ‚Šใพใ™ใ€‚
ๆ•ฐๆ™‚้–“ใ”ใจใซๅ†่ตทๅ‹•ใ™ใ‚‹ๅฟ…่ฆใŒใ‚ใ‚‹ๅ ดๅˆใ€socket.ioใ‚’ๅผ•ใ็ถšใไฝฟ็”จใงใใชใ„ใŸใ‚ใ€ใ“ใฎๅ•้กŒใŒ่งฃๆฑบใ—ใŸๅ ดๅˆใฏ้žๅธธใซๆบ€่ถณใ—ใฆใ„ใพใ™ใ€‚ ๏ผˆๆŽฅ็ถšใจๅˆ‡ๆ–ญใ‚’ๅŒๆ™‚ใซ่กŒใ†็ด„2000ไบบใฎใ‚ชใƒณใƒฉใ‚คใƒณใƒฆใƒผใ‚ถใƒผใŒใ„ใพใ™๏ผ‰

ใ‚ฝใ‚ฑใƒƒใƒˆใฎๆ•ฐใ‚’ๆฑบๅฎšใ™ใ‚‹ใŸใ‚ใซใ€socket.io0.9.10ใจๆฌกใฎใ‚ณใƒผใƒ‰ใ‚’ไฝฟ็”จใ—ใฆใ„ใพใ™ใ€‚

var socketIO = require๏ผˆ 'socket.io'๏ผ‰ใ€‚listen๏ผˆ....ใ€‚
..ใ€‚
var numberOfSockets = Object.keys๏ผˆsocketIO.connected๏ผ‰.length;

ใ“ใฎๆ•ฐๅ€คใŒใ•ใพใ–ใพใชใ‚จใƒƒใ‚ธใ‚ฑใƒผใ‚นใซใฉใฎ็จ‹ๅบฆๆญฃ็ขบใซๅๅฟœใ™ใ‚‹ใ‹ใฏใ‚ใ‹ใ‚Šใพใ›ใ‚“ใŒใ€ 'ไปŠใพใงใฏๆญฃ็ขบใซ่ฆ‹ใˆใพใ™ใ€‚ๆŽฅ็ถšใ™ใ‚‹ใ™ในใฆใฎใƒ–ใƒฉใ‚ฆใ‚ถใŒๆ•ฐๅ€คใ‚’ๅข—ใ‚„ใ—ใ€้–‰ใ˜ใ‚‹ใ™ในใฆใฎใƒ–ใƒฉใ‚ฆใ‚ถใŒๆ•ฐๅ€คใ‚’ๆธ›ใ‚‰ใ—ใพใ™ใ€‚

ใ“ใฎใ‚ขใƒ—ใƒญใƒผใƒใซไฝ•ใ‹ๅ•้กŒใŒใ‚ใ‚Šใพใ™ใ‹๏ผŸ

ใ‚ซใ‚ฆใƒณใƒˆใฎๅ•้กŒ๏ผˆๅ›ž้ฟใงใใ‚‹๏ผ‰ใฏๅˆฅใจใ—ใฆใ€ใƒกใƒขใƒชใฎๅ•้กŒใฏใ“ใ“ใงใฏใ‹ใชใ‚Šๆฎ‹้…ทใงใ™ใ€‚ ๅฐ†ๆฅใ€ใ“ใ‚ŒใŒไฟฎๆญฃใ•ใ‚Œใ‚‹่ฆ‹่พผใฟใฏใ‚ใ‚Šใพใ™ใ‹๏ผŸ ใ“ใ‚Œใฏใ€้•ทๆ™‚้–“ๅฎŸ่กŒใ•ใ‚Œใ€ใ‚ขใ‚ฏใƒ†ใ‚ฃใƒ“ใƒ†ใ‚ฃใฎๅคšใ„socket.ioใƒ‡ใƒ—ใƒญใ‚คใƒกใƒณใƒˆใฎ็ฎก็†ใŒ้žๅธธใซ้›ฃใ—ใ„ใ“ใจใ‚’ๆ„ๅ‘ณใ—ใพใ™ใ€‚

ใ‚ใ‚‹ใ„ใฏใ€ใ“ใฎๅ•้กŒใŒไฟฎๆญฃใ•ใ‚ŒใŸใƒ•ใ‚ฉใƒผใ‚ฏใซใคใ„ใฆ่ชฐใ‹็Ÿฅใฃใฆใ„ใพใ™ใ‹๏ผŸ

ใ“ใฎๅ•้กŒใฏใ€ๆฌกใฎใ‚ณใƒผใƒ‰ใซ้–ข้€ฃใ—ใฆใ„ใพใ™๏ผˆsocket.io 0.9.10ใ‹ใ‚‰ๅ–ๅพ—๏ผ‰ใ€‚

  SocketNamespace.prototype.clients = function (room) {
    var room = this.name + (room !== undefined ? '/' + room : '');

     if (!this.manager.rooms[room]) {
         return [];
     }

     return this.manager.rooms[room].map(function (id) {
         return this.socket(id);
     }, this);
  };

ใƒกใ‚ฝใƒƒใƒ‰this.socket(id)ใฏใ‚ฝใ‚ฑใƒƒใƒˆใฎๆ–ฐใ—ใ„ใ‚คใƒณใ‚นใ‚ฟใƒณใ‚นใ‚’ไฝœๆˆใ™ใ‚‹ใŸใ‚ใ€ใ™ในใฆใฎใ‚ฝใ‚ฑใƒƒใƒˆๆŽฅ็ถšใงใใ‚Œใ‚’ไฝฟ็”จใ™ใ‚‹ใจใ€ใƒกใƒขใƒชใƒชใƒผใ‚ฏใŒ็™บ็”Ÿใ—ใพใ™ใ€‚

@dknausใฏใใ‚Œใซๅ„ชใ‚ŒใŸๅ›ž้ฟ็ญ–ใ‚’ๆไพ›ใ—ใพใ—ใŸ;๏ผ‰

@outbounderใใฎๅ„ชใ‚ŒใŸๅ›ž้ฟ็ญ–ใŒๅฎŸ้š›ใซไฝ•ใงใ‚ใฃใŸใ‹ใ‚’ๆŒ‡ๆ‘˜ใงใใพใ™ใ‹๏ผŸ ใ“ใฎใ‚นใƒฌใƒƒใƒ‰ใซ่กจ็คบใ•ใ‚Œใ‚‹ใฎใฏใ‚ขใ‚ฏใƒ†ใ‚ฃใƒ–ใชใ‚ฝใ‚ฑใƒƒใƒˆๆ•ฐใ ใ‘ใ ใ‹ใ‚‰ใงใ™

@marksyzm

 Object.keys(socketIO.connected).length;

ใ“ใ‚Œใฏใ€socketioใซใ‚นใƒˆใ‚ขใŒๆŽฅ็ถšใ•ใ‚Œใฆใ„ใ‚‹ๅ ดๅˆใซใฎใฟๆœ‰ๅŠนใงใ™ใ€‚ ใใ‚Œไปฅๅค–ใฎๅ ดๅˆใ€ๅ›ž้ฟใ™ใ‚‹ๅ”ฏไธ€ใฎๆ–นๆณ•ใฏใ€ๆฌกใฎใ‚ˆใ†ใชใ‚ซใ‚นใ‚ฟใƒ ใƒญใ‚ธใƒƒใ‚ฏใงใใ‚Œใ‚‰ใ‚’ใ‚ซใ‚ฆใƒณใƒˆใ™ใ‚‹ใ“ใจใงใ™ใ€‚

 io.on("connection", function(s){ 
   connectedCount += 1; 
   s.on("disconnect", function(){
     connectedCount -= 1;
   });
 });

@outbounderใงใ™ใŒใ€ใ“ใฎใƒใ‚ฐใฎใƒใ‚คใƒณใƒˆใฏใ€ใ‚ฝใ‚ฑใƒƒใƒˆใŒๅˆ‡ๆ–ญใ•ใ‚Œใชใ„ใจใ„ใ†ใƒกใƒขใƒชใƒชใƒผใ‚ฏใฎๅ•้กŒใ‚’ไฟฎๆญฃใ™ใ‚‹ใ“ใจใ ใจๆ€ใ„ใพใ—ใŸใ‹๏ผŸ ็งใฏไฝ•ใ‹ใŒ่ถณใ‚Šใชใ„ใฎใงใ™ใ‹๏ผŸ

่จ˜ๆ†ถใŒใฉใ“ใ‹ใ‹ใ‚‰ๅ‡บ่ก€ใ—ใฆใ„ใ‚‹

https://github.com/LearnBoost/socket.io/issues/1015

https://github.com/sockjs/sockjs-node/issues/81

https://github.com/joyent/node/issues/2328#issuecomment -3190337

WebSocket้–ข้€ฃใ‹ใ€ใƒŽใƒผใƒ‰้–ข้€ฃใ‹ใ€ใพใŸใฏใใฎไธกๆ–นใ‹ใ‚ใ‹ใ‚‰ใชใ„

sockjsใซใ‚‚ๅŒๆง˜ใฎๅ•้กŒใŒใ‚ใ‚Šใพใ™ใ€‚ใคใพใ‚Šใ€socket.ioใจsockjsใŒๅŒใ˜ws libใ‚’ไฝฟ็”จใ—ใฆใ„ใ‚‹ๅฏ่ƒฝๆ€งใŒใ‚ใ‚Šใพใ™ใ€‚ใ“ใ‚Œใฏใ€ใƒŽใƒผใƒ‰ใซๅ•้กŒใŒใ‚ใ‚Šใพใ™ใ€‚ใพใŸใฏใ€ไธ€่ˆฌ็š„ใชใƒŽใƒผใƒ‰ใฎๅ•้กŒใงใ™ใ€‚

+1

ใ“ใ‚Œใฏใพใ ๆœฌ็•ช็’ฐๅขƒใง่ตทใ“ใฃใฆใ„ใพใ™ใ€‚ ๆŽฅ็ถšใ•ใ‚Œใฆใ„ใ‚‹ใ‚ฏใƒฉใ‚คใ‚ขใƒณใƒˆใฏใใ‚Œใปใฉๅคšใใ‚ใ‚Šใพใ›ใ‚“ใ€‚ๅฎŸ้š›ใซใฏใ€ใƒ”ใƒผใ‚ฏๆ™‚ใซใฏ100ใ€œ200ใงใ™ใ€‚ ใƒ—ใƒญใ‚ปใ‚นใฏใƒกใƒขใƒชไธ่ถณใซใชใ‚Šใ€ใƒใƒณใ‚ฐใพใŸใฏๅœๆญขใ—ใฆใ„ใพใ™ใ€‚ ใ“ใฎใƒกใƒขใƒชใƒชใƒผใ‚ฏใซๅ–ใ‚Š็ต„ใ‚“ใงใ„ใ‚‹ไบบใฏใ„ใพใ™ใ‹๏ผŸ ๆ‰‹ไผใ„ใพใ—ใ‚‡ใ†ใ‹๏ผŸ

็งใฎ็Ÿฅใ‚‹้™ใ‚Šใ€ใ“ใ‚Œใฏ้•ทๅนดใซใ‚ใŸใฃใฆๆ—ข็Ÿฅใฎๅ•้กŒใงใ‚ใ‚Šใ€ๅฎŸ้š›ใฎๅฑ•้–‹ใ‚’ๆœ›ใ‚“ใงใ„ใ‚‹ใ™ในใฆใฎไบบใŒsocket.ioใ‹ใ‚‰็งปๅ‹•ใ—ใพใ—ใŸใ€‚ ใ“ใฎๅ•้กŒใซ้–ขใ™ใ‚‹ๅ‹•ใใฏใชใใ€engine.ioใฏใƒˆใƒฉใƒณใ‚นใƒใƒผใƒˆใ‚ณใ‚ขใ‚’ใพใฃใŸใๆททไนฑใ•ใ›ใฆใ„ใชใ„ใ‚ˆใ†ใงใ™ใ€‚ใ—ใŸใŒใฃใฆใ€ใ“ใ‚Œใ‚’ไฟฎๆญฃใ™ใ‚‹ใ“ใจใ‚’ๆœŸๅพ…ใ™ใ‚‹็†็”ฑใ‚‚ใ‚ใ‚Šใพใ›ใ‚“ใ€‚

ๆญฃ็›ดใชใจใ“ใ‚ใ€็งใฏ่ชฐใ‚‚ใŒWebSocketใƒˆใƒฉใƒณใ‚นใƒใƒผใƒˆใ‚’ใ‚ขใ‚ฏใƒ†ใ‚ฃใƒ–ใซใ—ใฆvanilla socket.ioใ‚’ๆœฌ็•ช็’ฐๅขƒใซใƒ‡ใƒ—ใƒญใ‚คใ—ใฆใ„ใ‚‹ใจใ„ใ†่จผๆ‹ ใ‚’ๆŽขใ—ใฆใ„ใพใ—ใŸใŒใ€ไฟก้ ผใงใใ‚‹ใƒฌใƒใƒผใƒˆใฏ่ฆ‹ใคใ‹ใ‚Šใพใ›ใ‚“ใงใ—ใŸใ€‚ Trelloใฏ็Ÿฅๅๅบฆใฎ้ซ˜ใ„ใƒฆใƒผใ‚ถใƒผใงใ™ใŒใ€ใƒชใƒชใƒผใ‚นใ•ใ‚ŒใฆใŠใ‚‰ใšใ€WebSocketใƒˆใƒฉใƒณใ‚นใƒใƒผใƒˆใฎใฟใ‚’ไฝฟ็”จใ™ใ‚‹ใƒ‘ใƒƒใƒใƒใƒผใ‚ธใƒงใƒณใ‚’ไฝฟ็”จใ™ใ‚‹ใ“ใจใ‚’่ชใ‚ใฆใ„ใพใ™๏ผˆใใฎๆ™‚็‚นใงใ€ใชใœsocket.ioใ‚’ไฝฟ็”จใ™ใ‚‹ใฎใงใ™ใ‹๏ผŸ๏ผ‰ใ€‚ ใ“ใ‚ŒใŒใ™ใใซๅค‰ๆ›ดใ•ใ‚Œใ‚‹ใจใฏๆ€ใ‚ใ‚Œใชใ„ใŸใ‚ใ€socket.ioใ‹ใ‚‰ๅฎŒๅ…จใซ็งปๅ‹•ใ—ใพใ—ใŸใ€‚ sockjsใซๅ•้กŒใŒใชใ„ใ“ใจใ‚’็ด„ๆŸใ™ใ‚‹ใ“ใจใฏใงใใพใ›ใ‚“ใŒใ€ๆ•ฐๅƒใฎใ‚ฏใƒฉใ‚คใ‚ขใƒณใƒˆใซๅ‚ๅŠ /้›ข่„ฑใ—ใŸๅ ดๅˆใ€socket.ioใปใฉ้€Ÿใๅคฑๆ•—ใ™ใ‚‹ใ“ใจใฏใชใ„ใจ็ขบไฟกใ—ใฆใ„ใพใ™ใ€‚

Nodejitsuใฎ่‡ชๅˆ†ใฎsocket.io/redisใ‚ขใƒ—ใƒชใงใ€ใ“ใฎๅ•้กŒใ ใจๆ€ใ†ใ‚‚ใฎใจๆ ผ้—˜ใ—ใฆใ„ใพใ—ใŸใ€‚ ใใ‚Œใฏ้–“้•ใ„ใชใsocket.ioใฎRedisใ‚นใƒˆใ‚ขใฎใ‚ˆใ†ใงใ™ใ€‚ SockJSใซๅˆ‡ใ‚Šๆ›ฟใˆใฆใ€็‹ฌ่‡ชใฎRedis็ฎก็†ใ‚’ไฝœๆˆใ™ใ‚‹ใคใ‚‚ใ‚Šใ ใจๆ€ใ„ใพใ™ใ€‚

#nodejitsuใ‚ตใƒใƒผใƒˆใƒใƒฃใƒใƒซใงไฝœๆฅญใ—ใฆใ„ใ‚‹็งใฎใƒใƒฃใƒƒใƒˆใƒญใ‚ฐ๏ผš
https://gist.github.com/4146668

+1

ใใ‚Œใฏ็งใงใ™ใ‹ใ€ใใ‚Œใจใ‚‚socket.ioใฏredisใ‚’ไฝฟ็”จใ—ใชใใชใ‚Šใพใ—ใŸใ‹๏ผŸ

this.store.publish๏ผˆ 'disconnect'ใ€id๏ผ‰;ใ‚’่ฟฝๅŠ ใ™ใ‚‹ใฎใฏใฉใ†ใงใ™ใ‹ใ€‚ Manager.prototype.onClientDisconnectใธ
ใ“ใ“ใงๆๆกˆใ•ใ‚Œใฆใ„ใ‚‹ใ‚ˆใ†ใซ๏ผš https ๏ผš

ใ“ใฎ่กŒใ‚’่ฟฝๅŠ ใ™ใ‚‹ใฎใซๅ•้กŒใฏใ‚ใ‚Šใพใ™ใ‹๏ผŸ ็งใฏ็Ÿฅใ‚ŠใŸใ„ใงใ™ใ€‚

็ฌฌไบŒใซ๏ผŸ

+1

+1

่ชฐใงใ‚‚๏ผŸ

ใ“ใฎๅ•้กŒใซ้–ขใ™ใ‚‹ๅ‹•ใใฏใ‚ใ‚Šใพใ™ใ‹๏ผŸ ็งใฏ่ฟ‘ใ„ๅฐ†ๆฅใซๅฑ•้–‹ใ™ใ‚‹ใ“ใจใ‚’ๆœ›ใ‚“ใงใŠใ‚Šใ€ๆœฌ็•ชๅฑ•้–‹ใฎไบบใ€…ใŒใ“ใฎๅ•้กŒใซ้–ขใ—ใฆๆŒใฃใฆใ„ใ‚‹ๆดžๅฏŸใ‚’ๆœฌๅฝ“ใซ่ฉ•ไพกใ—ใพใ™ใ€‚

ไธŠ่จ˜ใฎไฟฎๆญฃใฏ็งใŸใกใฎใŸใ‚ใซๅƒใ„ใŸ...่ฒ ่ทใŒๅคงๅน…ใซไฝŽไธ‹ใ—ใŸ
2013ๅนด6ๆœˆ4ๆ—ฅๅˆๅ‰11:01ใ€ใ€Œpatrickodใ€ [email protected]ใฏๆฌกใฎใ‚ˆใ†ใซๆ›ธใ„ใฆใ„ใพใ™ใ€‚

ใ“ใฎๅ•้กŒใซ้–ขใ™ใ‚‹ๅ‹•ใใฏใ‚ใ‚Šใพใ™ใ‹๏ผŸ ่ฟ‘ใ„ๅฐ†ๆฅใซๅฑ•้–‹ใ—ใŸใ„ใจๆ€ใฃใฆใ„ใพใ™
ๆœฌ็•ช็’ฐๅขƒใซๅฐŽๅ…ฅใ•ใ‚ŒใŸไบบใ€…ใŒๆŒใฃใฆใ„ใ‚‹ๆดžๅฏŸใ‚’ๆœฌๅฝ“ใซ่ฉ•ไพกใ—ใพใ™
ใ“ใฎๅ•้กŒใซใคใ„ใฆใ€‚

โ€”
ใ“ใฎใƒกใƒผใƒซใซ็›ดๆŽฅ่ฟ”ไฟกใ™ใ‚‹ใ‹ใ€Gi tHubhttps๏ผš//github.com/LearnBoost/socket.io/issues/463#issuecomment-18927408ใง่กจ็คบใ—ใฆใใ ใ•ใ„
ใ€‚

ใƒ•ใƒฉใƒƒใ‚ทใƒฅใ‚ฝใ‚ฑใƒƒใƒˆใฎใ‚ตใƒใƒผใƒˆใ‚’็„กๅŠนใซใ—ใพใ™ใ‹๏ผŸ ใƒ‰ใ‚ญใƒฅใƒกใƒณใƒˆใซใฏใ€ใ“ใ‚ŒใŒใƒ‡ใƒ•ใ‚ฉใƒซใƒˆใงๅฎŸ่กŒใ•ใ‚Œใ‚‹ใ‚ˆใ†ใซใชใฃใŸใจ่จ˜่ผ‰ใ•ใ‚Œใฆใ„ใพใ™ใ€‚

็งใฏใ“ใฎๅ•้กŒใซ็›ด้ขใ—ใŸใ“ใจใฏใ‚ใ‚Šใพใ›ใ‚“ใŒใ€ใพใ ้–‹็™บใจใƒ™ใƒณใƒใƒžใƒผใ‚ฏใ‚’่กŒใฃใฆใ„ใพใ™ใ€‚ ใ“ใ‚Œใฏๆ•ด็†ใ•ใ‚Œใพใ—ใŸใ‹๏ผŸ

ๆ•™ใˆใฆใใ ใ•ใ„ใ€‚ ใ‚ใชใŸใฏใƒ™ใƒณใƒใƒžใƒผใ‚ฏใ‚’่กŒใฃใฆใ„ใพใ™ใ€‚ ๏ผšD

7:07ใฎๆœจใ€2014ๅนด1ๆœˆ23ๆ—ฅใซใฏใ€Maziyar Panahiใฎ[email protected] ๏ผš

็งใฏใ“ใฎๅ•้กŒใซ็›ด้ขใ—ใŸใ“ใจใฏใ‚ใ‚Šใพใ›ใ‚“ใŒใ€ใพใ ้–‹็™บใจใƒ™ใƒณใƒใƒžใƒผใ‚ฏใ‚’่กŒใฃใฆใ„ใพใ™ใ€‚
ใ“ใ‚Œใฏๆ•ด็†ใ•ใ‚Œใพใ—ใŸใ‹๏ผŸ

โ€”
ใ“ใฎใƒกใƒผใƒซใซ็›ดๆŽฅ่ฟ”ไฟกใ™ใ‚‹ใ‹ใ€Gi tHubhttps๏ผš//github.com/LearnBoost/socket.io/issues/463#issuecomment-33126062ใง่กจ็คบใ—ใฆใใ ใ•ใ„
ใ€‚

ๆ•™ใˆใฆใใ ใ•ใ„ใ€‚ ใ‚ใชใŸใฏใƒ™ใƒณใƒใƒžใƒผใ‚ฏใ‚’่กŒใฃใฆใ„ใพใ™ใ€‚ ๏ผšD

ๆญฃ็›ดใชใจใ“ใ‚ใ€็งใฏๅคง้‡ใซ่ฝใกใฆใ„ใ‚‹ใ“ใจใซๆฐ—ใฅใ„ใฆใ„ใพใ›ใ‚“ใ€‚ 1000ไบบใฎใƒฆใƒผใ‚ถใƒผใ‚’ๅŒๆ™‚ใซๆŽฅ็ถšใ™ใ‚‹ใจใ€5ใ€œ6ๅˆ†ๅพŒใซๆŽฅ็ถšใŒๅˆ‡ๆ–ญใ•ใ‚Œใ‚‹ใ“ใจใฏใปใจใ‚“ใฉใ‚ใ‚Šใพใ›ใ‚“ใŒใ€ๅ†ๆŽฅ็ถšใฏ้žๅธธใซ้ซ˜้€Ÿใงใ€ใ™ในใฆใฎใƒฆใƒผใ‚ถใƒผใซ1็ง’ใ‚ใŸใ‚Š10,000ใ‚’่ถ…ใˆใ‚‹ใƒกใƒƒใ‚ปใƒผใ‚ธใŒ้€ไฟกใ•ใ‚Œใพใ™ใ€‚ ใ—ใŸใŒใฃใฆใ€็งใฎEC2ใ‚คใƒณใ‚นใ‚ฟใƒณใ‚น๏ผˆm1.large๏ผ‰ใฏใ€ใ„ใใคใ‹ใ‚’่ฝใจใ•ใšใซใ™ในใฆใ‚’ๅญ˜็ถšใ•ใ›ใ‚‹ใฎใซๅๅˆ†ใชๅผทๅบฆใงใฏใชใ„ใจๆ€ใ„ใพใ™ใ€‚
ๅฐ†ๆฅใ“ใฎๅ•้กŒใซ็›ด้ขใ™ใ‚‹ใฎใงใฏใชใ„ใ‹ใจๆ€ใฃใฆใ„ใพใ—ใŸใ€‚ ้‰ฑๅฑฑใฏใปใ‚“ใฎๅฐ‘ใ—ใ‚’่ฝใจใ—ใ€ใ‚นใƒˆใƒฌใ‚นใƒ†ใ‚นใƒˆใงใใ‚Œใ‚‰ใ‚’ๅ†ๆŽฅ็ถšใ—ใฆใ„ใพใ™ใ€‚ ใ™ในใฆใ‚’ๅˆ‡ๆ–ญใ—ใŸๅพŒใ€ใ‚ฏใƒฉใ‚คใ‚ขใƒณใƒˆๆ•ฐใŒ0ใซ่ฝใกใ‚‹ใฎใ‚’่ฆ‹ใ‚‹ใ“ใจใŒใงใใพใ™ใ€‚

+1

10.11ไปฅ้™ใ€ใ“ใ‚Œใ‚‰ใ™ในใฆใซๅ•้กŒใฏใ‚ใ‚Šใพใ›ใ‚“ใงใ—ใŸ... ubuntu 10.10ใ‚’ไฝฟ็”จใ™ใ‚‹ใ“ใจใซใชใ‚Šใพใ™ใ‹๏ผŸ ใ„ใšใ‚Œใซใ›ใ‚ˆใ€ไปŠใฏๅคงไธˆๅคซใฎใ‚ˆใ†ใงใ™ใ€‚

ใ“ใฎใƒšใƒผใ‚ธใฏๅฝนใซ็ซ‹ใกใพใ—ใŸใ‹๏ผŸ
0 / 5 - 0 ่ฉ•ไพก