Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Connect to socket using socket.io with angular 5

I have .net socket server , I successfuly connect to it using socket.io with angular ..but I cannot found how to send data to server and recieve from it ..can anyone help me

like image 497
haneen hasan Avatar asked Feb 19 '26 09:02

haneen hasan


1 Answers

Work with Observables and write an Angular service with methods to listen and send messages to the server:

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

Find a complete app using WebSockets, Node.js and Angular written entirely in TypeScript here: https://github.com/luixaviles/socket-io-typescript-chat

I hope it helps.

like image 84
luixaviles Avatar answered Feb 22 '26 00:02

luixaviles