v0.0.6
This commit is contained in:
		
							parent
							
								
									f4bc521bb3
								
							
						
					
					
						commit
						d27f957f82
					
				@ -4,10 +4,12 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
<head>
 | 
					<head>
 | 
				
			||||||
  <meta charset="UTF-8" />
 | 
					  <meta charset="UTF-8" />
 | 
				
			||||||
  <title>nodePong - v0.0.1</title>
 | 
					  <title>nodePong, a multiplayer online pong based on nodejs and socket.io</title>
 | 
				
			||||||
  <link rel="stylesheet" type="text/css" media="all" href="./css/main.css">
 | 
					  <link rel="stylesheet" type="text/css" media="all" href="./css/main.css">
 | 
				
			||||||
  <script type="text/javascript" src="http://127.0.0.1:8042/socket.io/socket.io.js"></script>
 | 
					  <script type="text/javascript" src="http://127.0.0.1:8042/socket.io/socket.io.js"></script>
 | 
				
			||||||
  <script type="text/javascript" src="./src/jquery-2.1.3.min.js"></script>
 | 
					  <script type="text/javascript" src="./src/jquery-2.1.3.min.js"></script>
 | 
				
			||||||
 | 
					  <script type="text/javascript" src="./js/NPGClient.js"></script>
 | 
				
			||||||
 | 
					  <script type="text/javascript" src="./js/socket/SocketIO.js"></script>
 | 
				
			||||||
</head>
 | 
					</head>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
<body>  
 | 
					<body>  
 | 
				
			||||||
@ -19,10 +21,38 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
</html>
 | 
					</html>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<!--
 | 
				
			||||||
 | 
					<script type="text/javascript">
 | 
				
			||||||
 | 
					  //console.log(io);
 | 
				
			||||||
 | 
					  var socket = {};
 | 
				
			||||||
 | 
					  if (typeof io !== 'object') {
 | 
				
			||||||
 | 
					      console.log('Client: io object is unknown');
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					  if ((typeof self.socket.socket === 'undefined')) {
 | 
				
			||||||
 | 
					     console.log('[#SocketClient] attempting server connection...');
 | 
				
			||||||
 | 
					     socket = io.connect();  // socket connection                                                                
 | 
				
			||||||
 | 
					     console.log('[#SocketClient] attempting server connection...');
 | 
				
			||||||
 | 
					     //socket.socket.connect();
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					  socket.emit('data', 'yo');
 | 
				
			||||||
 | 
					</script>
 | 
				
			||||||
 | 
					-->
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<!--
 | 
				
			||||||
 | 
					<script type="text/javascript">
 | 
				
			||||||
 | 
					  console.log(io);
 | 
				
			||||||
 | 
					//  NPGClient.io = io;
 | 
				
			||||||
 | 
					//  NPGClient.SocketClient.setIO(io);
 | 
				
			||||||
 | 
					  NPGClient.SocketClient.connect();
 | 
				
			||||||
 | 
					  NPGClient.SocketClient.socket.emit('data','yo');
 | 
				
			||||||
 | 
					</script>
 | 
				
			||||||
 | 
					-->
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
<script type="text/javascript">
 | 
					<script type="text/javascript">
 | 
				
			||||||
$(document).ready(function() {
 | 
					$(document).ready(function() {
 | 
				
			||||||
  //GT4UI.SocketClient.connectSocket();
 | 
					  NPGClient.SocketIO.startConnectLoop();;
 | 
				
			||||||
  //GT4UI.Status.init("status");
 | 
					  if (NPGClient.SocketIO.isConnected) NPGClient.SocketIO.socket.emit('data','yo');
 | 
				
			||||||
});
 | 
					});
 | 
				
			||||||
</script>
 | 
					</script>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
							
								
								
									
										8
									
								
								client/js/NPGClient.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										8
									
								
								client/js/NPGClient.js
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,8 @@
 | 
				
			|||||||
 | 
					/**
 | 
				
			||||||
 | 
					 * @file NPGClient.js
 | 
				
			||||||
 | 
					 * @author frtk
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					var NPGClient = { 'version': '' };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
							
								
								
									
										77
									
								
								client/js/socket/SocketIO.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										77
									
								
								client/js/socket/SocketIO.js
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,77 @@
 | 
				
			|||||||
 | 
					/**
 | 
				
			||||||
 | 
					 * @file SocketIO.js
 | 
				
			||||||
 | 
					 * @author frtk
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					NPGClient.SocketIO = { 
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  // Connection to server  
 | 
				
			||||||
 | 
					  conn_nAttempts: 0,
 | 
				
			||||||
 | 
					  conn_IntervalID: 0,
 | 
				
			||||||
 | 
					  socket: {},
 | 
				
			||||||
 | 
					  isConnected: false,
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  // start connection loop
 | 
				
			||||||
 | 
					  initConnectLoop:  function() { 
 | 
				
			||||||
 | 
					    var self = this;
 | 
				
			||||||
 | 
					      console.log();  
 | 
				
			||||||
 | 
					      self.startConnectLoop();
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					  // start connection loop
 | 
				
			||||||
 | 
					  startConnectLoop:  function() { 
 | 
				
			||||||
 | 
					    var self = this;
 | 
				
			||||||
 | 
					    self.conn_IntervalID = setInterval(function() { self.connect(); }, 1500); 
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					  // stop connection loop
 | 
				
			||||||
 | 
					  stopConnectLoop:  function() { 
 | 
				
			||||||
 | 
					    var self =  this;
 | 
				
			||||||
 | 
					    clearInterval(self.conn_IntervalID);
 | 
				
			||||||
 | 
					    self.conn_IntervalID = 0;
 | 
				
			||||||
 | 
					    self.conn_nAttempts = 0;
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					  // connect socket
 | 
				
			||||||
 | 
					  connect: function() {
 | 
				
			||||||
 | 
					    var self = this;  
 | 
				
			||||||
 | 
					    // check for connection
 | 
				
			||||||
 | 
					    if (self.isConnected) {
 | 
				
			||||||
 | 
					      return false;  
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					    //
 | 
				
			||||||
 | 
					    if (typeof io !== 'object') {
 | 
				
			||||||
 | 
					      //console.log('[NPGClient.SocketIO] io object is unknown');
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					    if ((typeof self.socket.socket === 'undefined')) {      
 | 
				
			||||||
 | 
					      console.log('[NPGClient.SocketIO] attempting server connection...');
 | 
				
			||||||
 | 
					      self.socket = io.connect();  
 | 
				
			||||||
 | 
					      self.defineSocketMsgs();
 | 
				
			||||||
 | 
					    } else if (!self.socket.socket.connected && !self.socket.socket.connecting) {
 | 
				
			||||||
 | 
					      console.log('[NPGClient.SocketIO] attempting server connection...');
 | 
				
			||||||
 | 
					      self.socket.socket.connect();   
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					  // Define Socket Messages
 | 
				
			||||||
 | 
					  defineSocketMsgs: function() {
 | 
				
			||||||
 | 
					    var self = this;  
 | 
				
			||||||
 | 
					    if (typeof self.socket === 'undefined') {
 | 
				
			||||||
 | 
					      return false;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					    console.log('[NPGClient.SocketIO] deploying socket object features.');
 | 
				
			||||||
 | 
					    // 'connecting' 
 | 
				
			||||||
 | 
					    self.socket.on('connecting', function () {
 | 
				
			||||||
 | 
					      console.log('[NPGClient.SocketIO] connecting ...');
 | 
				
			||||||
 | 
					    });
 | 
				
			||||||
 | 
					    // 'connect'
 | 
				
			||||||
 | 
					    self.socket.on('connect', function() {
 | 
				
			||||||
 | 
					      console.log('[NPGClient.SocketIO] connected to server');
 | 
				
			||||||
 | 
					      self.stopConnectLoop();
 | 
				
			||||||
 | 
					      self.isConnected = true;
 | 
				
			||||||
 | 
					    });
 | 
				
			||||||
 | 
					    // 'disconnect'
 | 
				
			||||||
 | 
					    self.socket.on('disconnect', function() {
 | 
				
			||||||
 | 
					      console.log('[NPGClient.SocketIO] > Server: socket disconnected.');
 | 
				
			||||||
 | 
					      self.startConnectLoop();
 | 
				
			||||||
 | 
					      self.isConnected = false;
 | 
				
			||||||
 | 
					    });     
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					  
 | 
				
			||||||
 | 
					};
 | 
				
			||||||
@ -11,7 +11,6 @@
 | 
				
			|||||||
var fs = require('fs');
 | 
					var fs = require('fs');
 | 
				
			||||||
var express = require('express');
 | 
					var express = require('express');
 | 
				
			||||||
var http = require('http');
 | 
					var http = require('http');
 | 
				
			||||||
var iosocket = require('socket.io');
 | 
					 | 
				
			||||||
//--- server app libs & params
 | 
					//--- server app libs & params
 | 
				
			||||||
//var servP = require('./server/server_config.js');  
 | 
					//var servP = require('./server/server_config.js');  
 | 
				
			||||||
var nPong = require('./server/server_core.js');
 | 
					var nPong = require('./server/server_core.js');
 | 
				
			||||||
@ -38,13 +37,18 @@ app.use(express.static(__dirname + '/client/'));
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
//--- socket.io
 | 
					//--- socket.io
 | 
				
			||||||
nPong.Server.log('$ # registering socket.io service on port ' + config.HTTP.port);  
 | 
					nPong.Server.log('$ # registering socket.io service on port ' + config.HTTP.port);  
 | 
				
			||||||
var io = require('socket.io').listen(httpserv, {log: false});
 | 
					var io = require('socket.io').listen(httpserv, { log: true } );
 | 
				
			||||||
 | 
					//-- setup server socket handling features
 | 
				
			||||||
 | 
					nPong.Server.socketHandling(io);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
//
 | 
					//
 | 
				
			||||||
nPong.Server.log('$ #####');
 | 
					nPong.Server.log('$ #####');
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/*
 | 
					/*
 | 
				
			||||||
 * running nodePong server
 | 
					 * running nodePong server
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
 | 
				
			|||||||
@ -37,7 +37,10 @@ var Server = {
 | 
				
			|||||||
    this.version = s;
 | 
					    this.version = s;
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  //--- setIO(io)  
 | 
				
			||||||
 | 
					  setIO: function(io) { 
 | 
				
			||||||
      
 | 
					      
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  /*
 | 
					  /*
 | 
				
			||||||
   * Server Messages
 | 
					   * Server Messages
 | 
				
			||||||
@ -80,6 +83,27 @@ var Server = {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
   
 | 
					   
 | 
				
			||||||
 | 
					  /*
 | 
				
			||||||
 | 
					   * Socket.io handling
 | 
				
			||||||
 | 
					   */ 
 | 
				
			||||||
 | 
					  //--- 
 | 
				
			||||||
 | 
					  socketHandling: function(io) {
 | 
				
			||||||
 | 
					    var self = this;
 | 
				
			||||||
 | 
					    io.sockets.on('connection', function (socket) {
 | 
				
			||||||
 | 
						
 | 
				
			||||||
 | 
						//
 | 
				
			||||||
 | 
						self.log('$ User connected : id=' + socket.id);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						// 'disconnect'
 | 
				
			||||||
 | 
						socket.on('disconnect', function () {                                                                                  
 | 
				
			||||||
 | 
					            self.log('$ User disconnected : id=' + socket.id);                                                         
 | 
				
			||||||
 | 
					            connected = false;                                                                                                 
 | 
				
			||||||
 | 
						}); 
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    });
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -1,5 +1,12 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### **v0.0.6:**
 | 
				
			||||||
 | 
					- focus on socket.io client & server)
 | 
				
			||||||
 | 
					- Renamed SocketClient.js to SocketIO.js (files and objects)
 | 
				
			||||||
 | 
					- Added SocketIO object (NGPClient lib in /client/js/)
 | 
				
			||||||
 | 
					- Implemented socket.io client connection (with loop) => working
 | 
				
			||||||
 | 
					- Client side: Corrected bugs of multiple connection attemps and logs
 | 
				
			||||||
 | 
					- Server side: moved socket definitions to Server object
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
### **v0.0.5:**
 | 
					### **v0.0.5:**
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
		Reference in New Issue
	
	Block a user