html
<script src="javascript/socket.io.js"></script>
<script>
var socket=io("ws://127.0.0.1:8888");
socket.on('connect', function() {
console.log("与服务其断开");
socket.emit("cd","aaaa")
});
</script>
nodejs
/**
* Created by 18468 on 2017/5/18.
*/
var http=require("http");
var count = 0;
var server1 = http.createServer(function (req,res){
}).listen(3001,"127.0.0.1");
var io = require('socket.io').listen(server1);//var io = require('socket.io').listen(8888);这样换端口号
io.sockets.on('connection',function(socket){
count++;
console.log('User connected');
console.log(count)
socket.emit('message',{text:'你上线了'});
socket.broadcast.emit('message','你的好某XXX上线了');
socket.on('disconnect',function(){
count--;
console.log(count)
console.log('User disconnected');
});
socket.on("cd",function(data){
console.log(data)
})
});
nodejs2
var io = require('socket.io')(80);
//io.sockets.sockets[socket.id].emit("system","aaaa") //这样就不用存实例socket了
var arr=[];
io.on('connection', function (socket) {
socket.on("name",function(data){
console.log(data);
});
socket.on('message', function (data) {
console.log(data)
});
socket.on('disconnect', function () {
console.log("离开");
console.log(socket.id); //拿到的是当前推出的人的socketid
});
socket.on("cd",function(data){
console.log(data)
});
});
nodejs3
客户端 :
var socket=io("ws://127.0.0.1");
socket.on('connect', function() {
socket.emit("cl",{"name":"cd"},function(oo){ //看好了,emit 有三个参数 最后一个是函数
alert(oo);
});
});
服务端
重点是 原理与 jsonp 相似
socket.on("cl",function(data,fn){
console.log(data); //接受到的数据
fn("aaa"); //执行客户端的函数,客户端端的 alert 出来 "aaa"
})
nodejs4
客户端
socket.emit("name","a","b")
服务端
一一对应
socket.on("name",function(data1,data2){ //这里的参数与 客户端的参数 一一对应
console.log(data1) //a
console.log(data2) //b
});
参考地址:http://www.cnblogs.com/lxxhome/p/5980615.html