Skip to content
This repository has been archived by the owner on Mar 20, 2021. It is now read-only.

aliukevicius/dispatcher

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

23 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Dispatcher

Go package for easier work with websockets.

Install

go get gopkg.in/aliukevicius/dispatcher.v1

Import

import "gopkg.in/aliukevicius/dispatcher.v1"

Example

Please check the example folder for details.

Server side

func createUserHandler() dispatcher.Handler {
	return func(conn *dispatcher.Conn, data interface{}) {

		uData := data.(map[string]interface{})

		user := newUser{
			ID:       101,
			Name:     uData["name"].(string),
			Email:    uData["email"].(string),
			Passowrd: "password",
		}

		conn.Emit("newUser", user)
	}
}

func timeBroadcaster(disp *dispatcher.Dispatcher) {
	for {
		time.Sleep(time.Second)
		disp.Broadcast("time", time.Now().Format("2006-01-02 15:04:05"))
	}
}

Client side

	d.On('newUser', function (data) {
		console.log("New user: ", data); 
	});

	msg = {
		name: "John Doe",
		email: "john@dispatcher.doe"
	}; 

	d.Emit("createUser", msg);

	d.Join("time", function (data) {
		console.log("Time: ", data);
	});

	d.Join("chat", function (data) {
		console.log("Chat message: ", data)
	});

	d.Broadcast("chat", "Awesome chat message!");

About

Golang websocket package

Resources

License

Stars

Watchers

Forks

Packages

No packages published