This commit is contained in:
2016-02-10 18:48:47 +01:00
parent f4bc521bb3
commit d27f957f82
6 changed files with 156 additions and 6 deletions

View File

@@ -4,10 +4,12 @@
<head>
<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">
<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="./js/NPGClient.js"></script>
<script type="text/javascript" src="./js/socket/SocketIO.js"></script>
</head>
<body>
@@ -19,10 +21,38 @@
</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">
$(document).ready(function() {
//GT4UI.SocketClient.connectSocket();
//GT4UI.Status.init("status");
NPGClient.SocketIO.startConnectLoop();;
if (NPGClient.SocketIO.isConnected) NPGClient.SocketIO.socket.emit('data','yo');
});
</script>

8
client/js/NPGClient.js Normal file
View File

@@ -0,0 +1,8 @@
/**
* @file NPGClient.js
* @author frtk
*/
var NPGClient = { 'version': '' };

View 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;
});
}
};