Skip to content

socket-io (client): Developing a SocketIO Client #31

@njones

Description

@njones

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

  1. Create the client object
  2. Flesh out the OnConnect, OnDisconnect, On and Emit handlers
  3. Make sure that a replacement Transport or Dialer works
  4. Test the client
  5. Release

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions