Class SocketClient
Basic SocketIO client designed for use with Wolfringo.
Namespace: TehGM.Wolfringo.Socket
Assembly: Wolfringo.Core.dll
Syntax
public class SocketClient : ISocketClient, IDisposable
Remarks
This client only supports features required to use with Wolf. For this reason, some SocketIO behaviours may not be supported, while others function in a Wolf-specific way.
If you wish to support other behaviours, write own ISocketClient.
This socket client will automatically handle pinging and SID message. It is not needed to handle these behaviours manually.
Properties
| Improve this Doc View SourceIsConnected
Is the client currently connected?
Declaration
public bool IsConnected { get; }
Property Value
Type | Description |
---|---|
Boolean |
MessageEncoding
Encoding to use when sending and receiving messages. Defaults to UTF8.
Declaration
public Encoding MessageEncoding { get; set; }
Property Value
Type | Description |
---|---|
Encoding |
Session
Session info for the connection.
Declaration
public SocketSession Session { get; }
Property Value
Type | Description |
---|---|
SocketSession |
Methods
| Improve this Doc View SourceConnectAsync(Uri, CancellationToken)
Connect the client to the server.
Declaration
public async Task ConnectAsync(Uri url, CancellationToken cancellationToken = default(CancellationToken))
Parameters
Type | Name | Description |
---|---|---|
Uri | url | URL to connect to. |
CancellationToken | cancellationToken | Token which can be used to teminate the connection. |
Returns
Type | Description |
---|---|
Task |
DisconnectAsync(CancellationToken)
Disconnects the client from the server.
Declaration
public Task DisconnectAsync(CancellationToken cancellationToken = default(CancellationToken))
Parameters
Type | Name | Description |
---|---|---|
CancellationToken | cancellationToken | Token which can be used to terminate socket closing handshake. |
Returns
Type | Description |
---|---|
Task |
Dispose()
Disposes the resources used by this client.
Declaration
public void Dispose()
SendAsync(JToken, IEnumerable<Byte[]>, CancellationToken)
Sends (emits) event to the server.
Declaration
public Task<uint> SendAsync(JToken payload, IEnumerable<byte[]> binaryMessages, CancellationToken cancellationToken = default(CancellationToken))
Parameters
Type | Name | Description |
---|---|---|
Newtonsoft.Json.Linq.JToken | payload | Json payload to send. |
IEnumerable<Byte[]> | binaryMessages | Collection of binary messages to send. |
CancellationToken | cancellationToken | Token which can be used to abort sending. |
Returns
Type | Description |
---|---|
Task<UInt32> | ID of the sent message. |
Events
| Improve this Doc View SourceConnected
Rasied when the client connects to the server.
Declaration
public event EventHandler Connected
Event Type
Type | Description |
---|---|
EventHandler |
Disconnected
Raised when the client disconnects from the server.
Declaration
public event EventHandler<SocketClosedEventArgs> Disconnected
Event Type
Type | Description |
---|---|
EventHandler<SocketClosedEventArgs> |
ErrorRaised
Raised when an error has occured in client's internal connection loop.
Declaration
public event EventHandler<UnhandledExceptionEventArgs> ErrorRaised
Event Type
Type | Description |
---|---|
EventHandler<UnhandledExceptionEventArgs> |
MessageReceived
Raised when the client has received a message.
Declaration
public event EventHandler<SocketMessageEventArgs> MessageReceived
Event Type
Type | Description |
---|---|
EventHandler<SocketMessageEventArgs> |
MessageSent
Raised when the client has sent a message.
Declaration
public event EventHandler<SocketMessageEventArgs> MessageSent
Event Type
Type | Description |
---|---|
EventHandler<SocketMessageEventArgs> |