клиент socket.io в ionic 3 не работает? - PullRequest
0 голосов
/ 11 сентября 2018

Я пытаюсь сделать клиент Socket IO, я могу подключиться, но я не могу отправить или получить сообщение. У меня есть веб-приложение. Где, если любой пользователь подключается, он показывает, что подключен новый пользователь, поэтому, если я открою Мое приложение показывает, что новый пользователь подключен, но когда я отправляю сообщение, оно не отображается с обеих сторон

  import { Component } from '@angular/core';
    import { NavController } from 'ionic-angular';
    import * as io from 'socket.io-client';
     @Component({
      selector: 'page-home',
      templateUrl: 'home.html'
    })
    export class HomePage {
      socket:any;
      socketURL:any;

      constructor(public navCtrl: NavController) {
        this.socketURL = "my url";


        this.socket = io(this.socketURL);

        this.socket.on('connect',()=> {
          console.log('connected from server');
        })

    this.socket.emit('createMessage', 'hello worlddddddddd');

    this.socket.on('newMessage', (message)=>{
      alert('new massage'+JSON.stringify(message));

    }
    )
    }

    ionViewWillleave(){
      this.socket.on('disconnect',()=> {
        console.log('disconnected from server');
      });

    }

    }

1 Ответ

0 голосов
/ 11 сентября 2018

У меня есть это в моем случае, и это работает.

constructor(privatesocketService: SocketService, privatesocket: Socket){
  this.socket.on('message', (data) = > {
    console.log('message : ' + data);
  });
}


ionViewDidLeave(){
  console.log('ionViewDidLeave ChatRoomPage');
  this.socketService.leaveConversation(this.conversationId);
}

ionViewDidLoad(){
  console.log('ionViewDidLoad ChatRoomPage');
  this.socketService.joinConversation(this.conversationId);
  this.getUsers();
}

sendMessage(){
  this.conversationService.sendMessage(this.conversationId, this.message);
}


import {Injectable} from '@angular/core';
import {Socket} from 'ng-socket-io';

@
Injectable()
export class SocketService {

  constructor(privatesocket: Socket) {
  this.socket.connect();
  }

joinConversation(conversationId) {
  this.socket.emit('enter-room', conversationId);
}

leaveConversation(conversationId) {
  this.socket.emit('leave-room', conversationId);
}

sendMessage(conversationId) {
  this.socket.emit('new-message', conversationId);
}

}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...