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