socketio
socketio copied to clipboard
socket-io (client): Developing a SocketIO Client
Proposal: Adding a SocketIO Client
Author(s): Nika Jones (@njones)
Last updated: 2022-Aug-27
Abstract
The SocketIO library should have a client developed alongside the server. This will allow backend services developed in Go the ability to call any SocketIO server implementation.
Background
Although the general SocketIO client use case is from a browser, which can't natively run Go. However there are lots of situations where a backend service could use a client to talk to a SocketIO server.
Examples:
- The server is forwarding chat messages or used as a bot for a chat service
- Testing of a SocketIO service
Proposal
Create a Client object. (The zero defaults should be valid)
client = NewClient(options...) <*Client>
or
client = &Client{}
Rationale
The simplest Client is one that can have .On and .Emit with a Dialer that can have any transport necessary.
Implementation
- Create the client object
- Flesh out the
OnConnect,OnDisconnect,OnandEmithandlers - Make sure that a replacement
TransportorDialerworks - Test the client
- Release