2017-12-20 16 views

答えて

0

サーバーにデータを送信するには、ソケットを使用する必要があります。 EMIT()機能このような何か:サーバー機能に耳を傾ける必要があるサーバーからデータを受け取るため

io.on('connection', function(socket){ 
    socket.emit('server method', dataToSend); 
}); 

。この目的のためにソケットが存在する。

.on('connection', function(socket){ 
    socket.on('server method', function(msg){ 
    console.log('message: ' + msg); 
    }); 
}); 

あなたはデータを受発詳細を読むことができます:: https://medium.com/@vipinswarnkar1989/socket-io-in-mean-angular4-todo-app-29af9683957f https://tutorialedge.net/typescript/angular/angular-socket-io-tutorial/

+0

申し訳ありませんが、socket.on(「接続」)クライアント側 –

+0

に呼び出されていないあなたは、コードを提供することができ、あなたは、ソケットに接続するために使用? –

+0

import * as socketIo from 'socket.io-client'; var socket = socketIo.connect( 'http://172.18.13.3:8080') –

0

:ここ https://socket.io/get-started/chat/

は、角プロジェクトでsocket.ioを使用して、いくつかのリンクです方法)(上Observablesを使用して、listenおよびsendのメッセージをサーバーに送信する方法を使用して角度サービスを作成してください。

import { Injectable } from '@angular/core'; 
import { Observable } from 'rxjs/Observable'; 
import { Observer } from 'rxjs/Observer'; 
import { Message } from '../model/message'; 

import * as socketIo from 'socket.io-client'; 

const SERVER_URL = 'https://yourserverhost.com/'; 

    @Injectable() 
    export class SocketService { 
     private socket; 

     public initSocket(): void { 
      this.socket = socketIo(SERVER_URL); 
     } 

     public send(message: Message): void { 
      this.socket.emit('message', message); 
     } 

     public onMessage(): Observable<Message> { 
      return new Observable<Message>(observer => { 
       this.socket.on('message', (data: Message) => observer.next(data)); 
      }); 
     } 
    } 

WebSocketを、Node.jsのここ活字体で書かれた角度を使用して完全なアプリを探す:https://github.com/luixaviles/socket-io-typescript-chat

私はそれが役に立てば幸い。

0

これも必要でしたが、socket.io-client APIは角型アプリケーションにはあまり適していませんでした。また、rxjs、IMHOでラップする必要があります。

だからこそ私は本当に小さなラッパーライブラリを作成しました。

https://github.com/harunurhan/rx-socket.io-client

あなたは以下のようにそれを使用することができます:

const socket = new RxSocket('/url/to/socket.io/server'); 

const event$ = socket.subject('event_name'); // get rxjs/Subject for a specific event 

event$.subscribe((data) => { // read data 
    console.log(data.foo) 
}); 

event$.next({foo: 'bar'}); // send data 

// create observables for events that you want to only listen (receive data) 
const event$ = socket.observable('event_name'); // get rxjs/Observable for a specific event 

event$.subscribe((data) => { // read data 
    console.log(data.foo) 
}); 
関連する問題