- Notifications
You must be signed in to change notification settings - Fork1
An easy-to-use event-based networking library based on KCP and Smux for Go.
License
NotificationsYou must be signed in to change notification settings
zeozeozeo/jolta
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
This is an event-based networking library for Go, based onKCP andSmux.
- Secure: all of the data is encrypted by default, and there's no way to disable it.
- Small latency: the KCP protocol isdesigned for small latencies.
- Small: the entire library is ~650 lines of code.
package mainimport"github.com/zeozeozeo/jolta"funcmain() {// server address, password, saltserver:=jolta.NewServer("127.0.0.1:7145", []byte("test password"), []byte("test salt"))// listen (this is blocking)iferr:=server.Listen();err!=nil {panic(err)}}
package mainimport"github.com/zeozeozeo/jolta"funcmain() {// server address, password and salt// of the server you want to connect toclient:=jolta.NewClient("127.0.0.1:7145", []byte("test password"), []byte("test salt"))// connect to the server (this is blocking)iferr:=client.Connect();err!=nil {panic(err)}}
funcmain() {// client := jolta.NewClient(...)client.OnConnect(func(client*jolta.Client) {// send a message to all connected// clients, the event name can be// any stringclient.SendAll("any event name", []byte("hello from client!"))// get all clients connected to// the serverclients,err:=client.GetClients()iferr!=nil||len(clients)==0 {return }// send a message to some client// (clients are represented with// ID's, 1 being the client that// connected first)client.SendTo("any event name",clients[0], []byte("hi client!"))})// recieve messages from other clientsclient.On("any event name",func(client*jolta.Client,senderIduint32,data []byte) {// do anything you want...fmt.Printf("client %d says: %s\n",senderId,string(data))})// client.Connect()...}
See more examples ininternal/examples
About
An easy-to-use event-based networking library based on KCP and Smux for Go.
Topics
Resources
License
Uh oh!
There was an error while loading.Please reload this page.
Stars
Watchers
Forks
Releases
No releases published
Packages0
No packages published
Uh oh!
There was an error while loading.Please reload this page.