network

package
v0.0.0-...-219ab8e Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 22, 2024 License: Apache-2.0 Imports: 12 Imported by: 0

Documentation

Index

Constants

View Source
const (
	DefaultServerHostname = "localhost"
	DefaultServerTCPPort  = 8888
	DefaultServerUDPPort  = 8889
)

Variables

This section is empty.

Functions

func ReadFromTCP

func ReadFromTCP(conn net.Conn) ([]byte, error)

ReadFromTCP reads a buffer from a TCP connection

func ReadFromUDP

func ReadFromUDP(conn *net.UDPConn) ([]byte, error)

ReadFromUDP reads a buffer from a UDP connection

Types

type ErrConnectionClosedByClient

type ErrConnectionClosedByClient struct{}

ErrConnectionClosed is returned when the TCP connection is closed

func (*ErrConnectionClosedByClient) Error

type ErrConnectionClosedByServer

type ErrConnectionClosedByServer struct{}

ErrConnectionClosedByServer is returned when the TCP connection is closed

func (*ErrConnectionClosedByServer) Error

type NetworkManager

type NetworkManager struct {
	// contains filtered or unexported fields
}

NetworkManager represents a network manager.

func NewNetworkManager

func NewNetworkManager(serverSettings ServerSettings, messageQueue queue.Queue) (*NetworkManager, error)

NewNetworkManager creates a new network manager.

func (*NetworkManager) ClientID

func (m *NetworkManager) ClientID() uint32

func (*NetworkManager) IsConnected

func (m *NetworkManager) IsConnected() bool

func (*NetworkManager) SendReliableMessage

func (m *NetworkManager) SendReliableMessage(msg *messages.Message) error

func (*NetworkManager) SendUnreliableMessage

func (m *NetworkManager) SendUnreliableMessage(msg *messages.Message) error

func (*NetworkManager) ServerMessageQueue

func (m *NetworkManager) ServerMessageQueue() queue.Queue

func (*NetworkManager) ServerSettings

func (m *NetworkManager) ServerSettings() ServerSettings

func (*NetworkManager) ServerTime

func (m *NetworkManager) ServerTime() (serverTime float64, ping float64)

func (*NetworkManager) Start

func (m *NetworkManager) Start(token string, characterID int32) error

Start starts the network manager.

func (*NetworkManager) Stop

func (m *NetworkManager) Stop() error

Stop stops the network manager and its clients and clears the server message queue.

func (*NetworkManager) TCPClientErrChan

func (m *NetworkManager) TCPClientErrChan() <-chan error

func (*NetworkManager) UDPClientErrChan

func (m *NetworkManager) UDPClientErrChan() <-chan error

func (*NetworkManager) UpdateServerTime

func (m *NetworkManager) UpdateServerTime(deltaTime float64)

UpdateServerTime updates the server time with the given delta time. This is intended to be called by the game update loop to keep the server time in sync with the client's time.

type ServerSettings

type ServerSettings struct {
	Hostname string
	TCPPort  int
	UDPPort  int
}

type TCPClient

type TCPClient struct {
	// contains filtered or unexported fields
}

TCPClient represents a TCP client.

func NewTCPClient

func NewTCPClient(serverAddr string, messageQueue queue.Queue, clientIDChan chan<- uint32, loginErrChan chan<- error, serverTimeChan chan<- *messages.ServerSyncTime) *TCPClient

NewTCPClient creates a new TCP client.

func (*TCPClient) Close

func (c *TCPClient) Close() error

Close closes the TCP connection.

func (*TCPClient) Connect

func (c *TCPClient) Connect() error

func (*TCPClient) HandleMessages

func (c *TCPClient) HandleMessages(ctx context.Context) error

func (*TCPClient) SendMessage

func (c *TCPClient) SendMessage(msg *messages.Message) error

SendMessage sends a message to the TCP server.

type UDPClient

type UDPClient struct {
	// contains filtered or unexported fields
}

UDPClient represents a UDP client.

func NewUDPClient

func NewUDPClient(serverAddr string, messageQueue queue.Queue) (*UDPClient, error)

NewUDPClient creates a new UDP client.

func (*UDPClient) Close

func (c *UDPClient) Close()

Close closes the UDP connection.

func (*UDPClient) Connect

func (c *UDPClient) Connect() error

Connect starts the UDP client.

func (*UDPClient) HandleMessages

func (c *UDPClient) HandleMessages(ctx context.Context) error

func (*UDPClient) SendMessage

func (c *UDPClient) SendMessage(msg *messages.Message) error

SendMessage sends a message to the UDP server.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL