2017-02-07 2 views
0

Люди, У меня есть угловой проект 2 Cli. Это простое чат-приложение. Но по некоторым причинам сервер не получает/передает сообщение клиенту. Ошибка компиляции и приложения не работает, но нет сообщений сокетов. Ниже приведен фрагмент кода из каждого:Угловой 2 cli project -Socket.io не работает

Экспресс:

const express = require('express'); 
const path = require('path'); 
const http = require('http'); 
const bodyParser = require('body-parser'); 


const app = express(); 

// Parsers for POST data 
    app.use(bodyParser.json()); 
    app.use(bodyParser.urlencoded({ extended: false })); 

// Point static path to dist 
app.use(express.static(path.join(__dirname, 'dist'))); 


    // Catch all other routes and return the index file 
    app.get('*', (req, res) => { 
    res.sendFile(path.join(__dirname, 'dist/index.html')); 
    }); 

/** 
    * Get port from environment and store in Express. 
    */ 
    const port = process.env.PORT || '3000'; 
app.set('port', port); 

/** 
* Create HTTP server. 
*/ 
const server = http.createServer(app); 

    //set socket.io for chat 
    var io = require('socket.io').listen(server); 
    io.on('connnection', (socket) => { 
    console.log('user connected'); 
    socket.on('message', (msg) => { 
    console.log('Message Received: ', msg); 
    socket.broadcast.emit('message', msg); 
    }); 
    socket.on('disconnect',() => { 
    console.log('user has disconnected'); 
    }); 


    }); 


    server.listen(port,() => console.log("server running")); 

App компонент

import { Component } from '@angular/core'; 
import * as io from "socket.io-client"; 

@Component({ 
selector: 'app-root', 
templateUrl: './app.component.html', 
styleUrls: ['./app.component.css'] 
}) 
export class AppComponent { 
    messages: Array<String>; 
    chatBox: String; 
    socket: any; 
constructor() { 
    this.chatBox = ""; 
    this.socket = io("http://localhost:3000"); 
     this.socket.on("message", (msg) => { 
     this.messages.push(msg); 
     }); 
    } 
    send(message) { 
    this.socket.emit("message", message); 
    this.chatBox = ""; 
    } 

} 

Html:

<ul> 
    <li *ngFor="let item of messages">{{item}}</li> 
    </ul> 

<input [(ngModel)]="chatBox" autocomplete="off" /> 
    <button (click)="send(chatBox)">Send</button> 

Я был бы признателен за любую помощь или подсказку для решения этой проблемы ,

Если я использую простой сервер с поддержкой html chat, отлично работает.

Thanks

+0

любые ошибки, как не удалось подключиться или что-то? –

+0

Один из моего рабочего кода .. https://gist.github.com/parthghiya/7a03cbf2bb5be5af7746e06a0d7d24fe –

+0

нет ошибок, просто не получаю console.log сообщение – leo

ответ

0

Код для подключения к разъему отсутствует.

Изменить

this.socket = ю ("http://localhost:3000");

в

this.socket=io.connect("http://localhost:3000") 
+0

не помогает .... как вы читали socket.io на стороне клиента? добавили ли вы скрипт на angular-cli.json или поместили в index.html или вы поместите в index.html – leo

Смежные вопросы