나는 Node.Js와 Redis의 새로운 스타터입니다. Redis 요리 책이 있고 채팅 클라이언트를 사용해 보았습니다 & 서버 제조법.Redis 요리 책 채팅 레시피
누군가 코드가 작동하는지 또는 코드에 버그가 있는지 궁금합니다.
클라이언트에서 보낸 메시지가 서버에서 호출되는 위치를 알 수 없습니다.
도움이 될 것입니다.
감사합니다, 톰
클라이언트 코드 :
<?php
?>
<html>
<head>
<title></title>
<script src="http://192.168.0.118:8000/socket.io/socket.io.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.6.1/jquery.min.js"></script>
<script>
var socket = io.connect('192.168.0.118',{port:8000});
socket.on('message', function(data){
alert(data);
//var li = new Element('li').insert(data);
//$('messages').insert({top: li});
});
</script>
</head>
<body>
<ul id="messages">
<!-- chat messages go here -->
</ul>
<form id="chatform" action="">
<input id="chattext" type="text" value="" />
<input type="submit" value="Send" />
</form>
<script>
$('#chatform').submit(function() {
socket.emit('message', 'test'); //$('chattext').val());
$('chattext').val(""); // cleanup the field
return false;
});
</script>
</body>
</html>
서버 코드 : 당신이 socket.io에서 어떤 연결/메시지 이벤트를 수신하지 않는 것처럼
var http = require('http');
io = require('socket.io');
redis = require('redis');
rc = redis.createClient();
//rc1 = redis.createClient();
rc.on("connect",function(){
rc.subscribe("chat");
console.log("In Chat Stream");
});
rc.on("message",function (channel,message){
console.log("Sending hope: " + message);
//rc1.publish("chat","hope");
socketio.sockets.emit('message',message);
});
server = http.createServer(function(req,res){
res.writeHead(200,{'content-type':'text/html'});
res.end('<h1>hello world</h1>');
});
server.listen(8000);
var socketio = io.listen(server);
이것은 매우 일반적인 질문입니다. 이 문제가 발생하는 특정 문제에 대해 더 자세히 게시 하시겠습니까? – marko