Я пытаюсь создать приложение чата с socket.io, angular 1.6.9 + angular-routs, php, mysql.Я сделал регистрацию и вход без перезагрузки страницы.И теперь я с моим (dashboard.html).
Моя проблема - после того, как я вошел в систему без перезагрузки моей страницы (dashboard.html).Я хочу использовать socket.io для своей системы чата, но я не получаю никакого ответа от io.on ("connection", (socket) => {...});на мой (dashboard.html).
Я попытался передать var socket = io ();ИЛИ var socket = io.connect ("http://localhost:88"); in index.html ..), а также попытался передать (angular-controller.js), но не получил сообщение от io.on (" connection ", (socket) => {...});
Вот мой код с загрузкой index.html сначала при получении ответа от localhost: 88 (app.js) и в index.html с использованием углового маршрута(angular-controller.js) просматриваются все страницы.
Я компилирую (app.js) файл для моего проекта. (nodemon app.js)
index.html
<!DOCTYPE html>
<html>
<head>
<link rel="icon" href="https://www.livechatinc.com/wp-content/themes/livechat2.0/media/img/press/lc-logos/logo-livechat.png" sizes="16x16">
<title>Chat Application</title>
<link rel="stylesheet" type="text/css" href="css/bootstrap.min.css">
<link rel="stylesheet" type="text/css" href="css/w3.css">
<script type="text/javascript" src="js/bootstrap.min.js"></script>
<script type="text/javascript" src="js/angular.min.js"></script>
<script type="text/javascript" src="js/angular-route.js"></script>
<script type="text/javascript" src="js/angular-sanitize.js"></script>
<script type="text/javascript" src="http://127.0.0.1:88/socket.io/socket.io.js"></script>
</head>
<body ng-app = "myApp">
<!-- All Page Route On This <div>..</div> !-->
<div ng-view id="maincontent"></div>
<!-- <input type="text" name="name" ng-model = "name">{{name}} -->
<script type="text/javascript" src="js/popper.min.js"></script>
<script type="text/javascript" src="js/jquery.min.js"></script>
<script type="text/javascript" src="js/controller.js"></script>
</body>
</html>
app.js
const express = require('express');
const app = express();
const http = require('http').Server(app);
const io = require('socket.io')(http);
const session = require('express-session');
const cookieparser = require('cookie-parser');
const connect = require('./module/connection.js');
const port = 88;
if(http.listen(port)){console.log("Listening at "+"localhost:"+port);}else{console.log("Something Went Worng");}
/* Serving Static Files */
app.use(express.static(__dirname+"/public"));
app.get("/", (request,response) => {
response.sendFile(__dirname+"/index.html");
});
app.get("#!/dashboard",(request, response) => {
io.on("connection", (socket) => {
console.log("User connect with socket");
socket.on("dissconnect", () => {
console.log("User reconnecting");
});
});
});
/* Page Handling When User not get Page Throw 404 Error This method must be after declaring all the pages */
app.get("*", (request,response) => {
response.sendFile(__dirname+"/public/error/404.html");
});
angular-controller.js
const app = angular.module("myApp",['ngSanitize','ngRoute']);
var socket = io.connect("http://127.0.0.1:88");
/*
Routing Page with its controller
*/
app.config(function($routeProvider) {
$routeProvider.when('/dashboard', {
resolve: {
check: function ($location, user){
if(!user.isUserLoggedIn()){
$location.path("/login");
}
},
},
templateUrl: '../view/dashboard.html',
controller: 'dashbordCtrl'
}).when("/logout", {
resolve: {
deadResolve: function($http, $location, user){
$http({
url: 'http://localhost/project/controller/server.php',
method: 'POST',
data: 'action='+'logout',
headers: {
'Content-Type': 'application/x-www-form-urlencoded'
}
}).then(function(response){
console.log(response);
if(response.data.logoutStatus){
user.clearData();
$location.path("/");
}else{
console.log("Check....!");
}
});
},
},
}).otherwise({
template: '404'
});
});
/*
I want my socket.io connection start in dashboardCtrl
*/
app.controller('dashbordCtrl', function($scope, $location, user){
$scope.id = user.getId();
$scope.user = "Wellcome, "+user.getname();
$scope.email = "(' "+user.getemail()+" ')";
});