μλ ,
socket.ioμμ ν΄λ§μ μ¬μ©νλ λμ 400κ°μ HTTP ν€λλ₯Ό λ§μ΄ μ»μ΅λλ€.
nodejs ν΄λ¬μ€ν°λ₯Ό μ¬μ©νκ³ μμ΅λλ€.
λ€μμ μ½λ μ€λν«μ
λλ€.
if (cluster.isMaster) {
// ν¬ν¬ μ컀.
//CPU μ=1;
for (var i = 0, i < numCPUs-1, i++) {
ν΄λ¬μ€ν°.ν¬ν¬();
}
}
// μμ
μ μ½λ:
λ λ€λ₯Έ{
var socket_io = require('socket.io')(μλ²);
var redis_adapter = require('socket.io-redis');
socket_io.adapter(redis_adapter({ νΈμ€νΈ: config.redis.ip, ν¬νΈ: config.redis.port }));
//λλ¨Έμ§ μ½λ
socket_io.on('μ°κ²°', ν¨μ(μμΌ) {
}
μ΄μ κ΄λ ¨νμ¬ λͺ¨λ ν¬μΈν°κ° λμμ΄ λ κ²μ λλ€.
미리 κ°μ¬λ립λλ€
μλ ! μμ κ° λ§μ§ μμ socket.ioλ‘ ν΄λ¬μ€ν°λ₯Ό μ€μ νλ λ° λ§μ μ΄λ €μμ κ²ͺμμ΅λλ€. λλ μΌλΆ raspberryPiλ₯Ό μ μ΄νλ ββλ° μ¬μ©νλ μμ μμ κ° μμ΅λλ€.
https://github.com/jordanpappas/raspi-car/tree/master/server
μ΄ μμ μ μννλ λ°©λ²μ 보μ¬μ£ΌκΈ° μν΄ λ³λμ μμ λ₯Ό λ§λ€μ΄μΌ νμ§λ§ μ§κΈμ λ§ν¬μμ μΈλ±μ€ νμΌμ νμΈν μ μμ΅λλ€. μ΄ μμ μ μννλ €λ©΄ λͺ κ°μ§ μμ μ μνν΄μΌ ν©λλ€.
var io = sio(server, { 'transports': ['websocket'] });
ν΄λΌμ΄μΈνΈμμ:
var socket = io.connect('http://localhost:3000', { 'transports': ['websocket'] });
μ΄λ κ² νλ©΄ μ¬λ°λ₯Έ λ°©ν₯μΌλ‘ μ΄λνκ² λλ©° κ°λ¨ν μμ λ₯Ό ν¨κ» λ§λ€μ΄ λ³΄κ² μ΅λλ€.
λ¬Όλ‘ μ λλ€. λ¬Έμ λ₯Ό ν΄κ²°νμ΅λλ€. λΌμ΄λΈλ¬λ¦¬ μ체μμ μμ μλ₯Ό μμ±νκΈ° λλ¬Έμ μλͺ»λ ν΄λ¬μ€ν° μμ μ λ΄λΆμ κ³ μ μΈμ λΌμ΄λΈλ¬λ¦¬λ₯Ό μ¬μ©νκ³ μμμ΅λλ€.
ν΄λΉ λ¬Έμ λ μλμΌλ‘ μ’ λ£λμμ΅λλ€. μ΅μ 릴리μ€λ‘ λ¬Έμ κ° ν΄κ²°λμλμ§ νμΈνκ³ νμν κ²½μ° λ€μ μ¬μμμ€(κ°λ₯ν κ²½μ° λ¬Έμ λ₯Ό μ¬ννλ λ°μ΄μ¬λ¦° μ¬μ©).
μ΄ λ¬Έμ μμ 4μκ° λλΉ
κ°μ₯ μ μ©ν λκΈ
μλ ! μμ κ° λ§μ§ μμ socket.ioλ‘ ν΄λ¬μ€ν°λ₯Ό μ€μ νλ λ° λ§μ μ΄λ €μμ κ²ͺμμ΅λλ€. λλ μΌλΆ raspberryPiλ₯Ό μ μ΄νλ ββλ° μ¬μ©νλ μμ μμ κ° μμ΅λλ€.
https://github.com/jordanpappas/raspi-car/tree/master/server
μ΄ μμ μ μννλ λ°©λ²μ 보μ¬μ£ΌκΈ° μν΄ λ³λμ μμ λ₯Ό λ§λ€μ΄μΌ νμ§λ§ μ§κΈμ λ§ν¬μμ μΈλ±μ€ νμΌμ νμΈν μ μμ΅λλ€. μ΄ μμ μ μννλ €λ©΄ λͺ κ°μ§ μμ μ μνν΄μΌ ν©λλ€.
ν΄λΌμ΄μΈνΈμμ:
μ΄λ κ² νλ©΄ μ¬λ°λ₯Έ λ°©ν₯μΌλ‘ μ΄λνκ² λλ©° κ°λ¨ν μμ λ₯Ό ν¨κ» λ§λ€μ΄ λ³΄κ² μ΅λλ€.