node.js和socket.io环境搭建与实现聊天程序
先来说说node.js怎么安装吧
这个建议大家直接到官方网站下载网址:http://nodejs.org/
不懂英文的可以直接看下图
下载 单击Install就OK了。
下载之后是一个Exe的程序直接运行完事
然后就是下一步,下一步了,这个我就不多说了。
下面就可以在你这台电脑的任意目录使用了。
下面咱们进入安装的目录进行一个测试吧。
然后就是安装socket.io了,
这个大家不需要下载任何东西,只需要直接在nodejs里执行安装命令就行了,因为他们自动下载和安装,他只是nodejs里面的一个插件。
命令如下
[C#] 纯文本查看 复制代码 npm install socket.io
执行看效果
我们只需要等一会儿完成之后就可以使用了。
这个时候我们会发现在nodejs安装的主目录下有一个node_modules文件夹
看到socket.io这个文件夹就算是Ok了。
下面咱们来写个程序测试一下吧。
server端JS
chat.js
[JavaScript] 纯文本查看 复制代码 var fs = require('fs')
, http = require('http')
, socketio = require('socket.io');
var server = http.createServer(function(req, res) {
res.writeHead(200, { 'Content-type': 'text/html'});
res.end(fs.readFileSync(__dirname + '/index.html'));
}).listen(8080, function() {
console.log('Listening at: http://localhost:8080');
});
socketio.listen(server).on('connection', function (socket) {
socket.on('message', function (msg) {
console.log('Message Received: ', msg);
socket.broadcast.emit('message', msg);
});
});
index.Html
[HTML] 纯文本查看 复制代码 <html>
<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
<script src="/socket.io/socket.io.js"></script>
<script>
$(function(){
var iosocket = io.connect();
iosocket.on('connect', function () {
$('#incomingChatMessages').append($('<li>Connected</li>'));
iosocket.on('message', function(message) {
$('#incomingChatMessages').append($('<li></li>').text(message));
});
iosocket.on('disconnect', function() {
$('#incomingChatMessages').append('<li>Disconnected</li>');
});
});
$('#outgoingChatMessage').keypress(function(event) {
if(event.which == 13) {
event.preventDefault();
iosocket.send($('#outgoingChatMessage').val());
$('#incomingChatMessages').append($('<li></li>').text($('#outgoingChatMessage').val()));
$('#outgoingChatMessage').val('');
}
});
});
</script>
</head>
<body>
Incoming Chat: <ul id="incomingChatMessages"></ul>
<br />
<input type="text" id="outgoingChatMessage">
</body>
</html>
使用Nodejs执行如下
[C#] 纯文本查看 复制代码 node chat.js
这样就Ok了。会输出
打开两个chrome输入localhost:8080
这样就可以直接聊天了,
具体要怎么点对点,或者是要发送一些的信息,这个大家自己研究一下吧
|