-
Notifications
You must be signed in to change notification settings - Fork 0
7a1c4e73 a7fb dcf0 f565 0f57c782ca0c
Better manage the incoming and outgoing BasePack using a Protocol(TPack) to redistribute the packs. It has an internal dictionary of Protocol(TPack) that can be exchanged for the currently used.
System.Object
NETLIB.Consumer(BasePack)
NETLIB.IOPackHandler(BasePack)
NETLIB.IOBasePackHandler
Namespace: NETLIB
Assembly: NETLIB (in NETLIB.dll) Version: 1.0.0.0 (1.0.0.0)
C#
public class IOBasePackHandler : IOPackHandler<BasePack>
VB
Public Class IOBasePackHandler
Inherits IOPackHandler(Of BasePack)
C++
public ref class IOBasePackHandler : public IOPackHandler<BasePack^>
F#
type IOBasePackHandler =
class
inherit IOPackHandler<BasePack>
end
The IOBasePackHandler type exposes the following members.
Name | Description | |
---|---|---|
![]() |
IOBasePackHandler | Initializes the handler with a publisher who will publish the packages and a protocol that will be used initially by this connection. |
Name | Description | |
---|---|---|
![]() |
CurrentProtocolName | Name of the current protocol. (Inherited from IOPackHandler(TPack).) |
![]() |
IsEnabled | Boolean indicating when the consumption of packages is active. (Inherited from Consumer(TPack).) |
![]() |
IsPublishEnabled | Boolean indicating whether the publisher is currently active, publishing packages. (Inherited from Consumer(TPack).) |
![]() |
Publisher | Returns the publisher being consumed. (Inherited from Consumer(TPack).) |
Name | Description | |
---|---|---|
![]() |
AddProtocol | Add a new protocol in the protocols dictionary. (Inherited from IOPackHandler(TPack).) |
![]() |
CloseConnection | Closes the publisher connection. (Inherited from Consumer(TPack).) |
![]() |
Dispose | Ends the consumption of paks without changing the status of the publisher. (Inherited from Consumer(TPack).) |
![]() |
EndConsume | Stops the pack consumption thread. (Inherited from Consumer(TPack).) |
![]() |
EndPublishConsume | Stops the publisher and the pack consumption thread. (Inherited from Consumer(TPack).) |
![]() |
Equals | Determines whether the specified object is equal to the current object. (Inherited from Object.) |
![]() |
ExchangeProtocol | Change the current protocol for one stored in the dictionary. (Inherited from IOPackHandler(TPack).) |
![]() |
Finalize | Ends the consumption of paks without changing the status of the publisher, in the death of the object, if the Dispose method was not used properly. (Inherited from Consumer(TPack).) |
![]() |
GetHashCode | Serves as the default hash function. (Inherited from Object.) |
![]() |
GetType | Gets the Type of the current instance. (Inherited from Object.) |
![]() |
MemberwiseClone | Creates a shallow copy of the current Object. (Inherited from Object.) |
![]() |
OnReceivedPackCall |
(Inherited from IOPackHandler(TPack).) |
![]() |
PackFactory() | Used by the Consume() to obtain an instance of the BasePack through BasePack() constructor. (Overrides Consumer(TPack).PackFactory().) |
![]() |
PackFactory(Byte[]) | Used by the Consume() to obtain an instance of the BasePack through BasePack(Byte[]) constructor. (Overrides Consumer(TPack).PackFactory(Byte[]).) |
![]() |
PackFactory(BasePack) | Used by the Consume() to obtain an instance of the BasePack through BasePack(BasePack) constructor. (Overrides Consumer(TPack).PackFactory(BasePack).) |
![]() |
SendPack(Byte[], IPEndPoint) | Sends the packet through the publisher (Inherited from Consumer(TPack).) |
![]() |
SendPack(TPack, IPEndPoint) | Sends the packet through the publisher (Inherited from Consumer(TPack).) |
![]() |
Start | Starts the publisher and the thread of consumption of packs. (Inherited from Consumer(TPack).) |
![]() |
StartConsume | Starts the thread of consumption of packs. (Inherited from Consumer(TPack).) |
![]() |
ToString | Returns a string that represents the current object. (Inherited from Object.) |
Name | Description | |
---|---|---|
![]() |
ConnectionClosed | Event used to signal when the connection (input stream) was closed for any reason. (Inherited from Consumer(TPack).) |
![]() |
ReceivedPack | Event called for treatment and consumption of a incoming pack. (Inherited from Consumer(TPack).) |
The following example shows how to implement a chat client using IOBasePackHandler to connect to the server and manage packages.
using NETLIB;
using NETLIB.TCP;
using System;
namespace ChatExempleClient
{
class Program
{
static IOBasePackHandler client;
static Protocol<BasePack> chatProtocol;
static string name;
static void Main(string[] args)
{
chatProtocol = new Protocol<BasePack>("chatProtocol");
chatProtocol[0] += MessagePackHandle;
client = new IOBasePackHandler(new TCPPublisher("127.0.0.1", 1975), chatProtocol);
client.Start();
Console.WriteLine("Your name please:");
name = Console.ReadLine();
string aux = Console.ReadLine();
while (aux != "exit")
{
var pack = new BasePack();
pack.ID = 0;
pack.PutString(name + ": " + aux);
client.SendPack(pack);
aux = Console.ReadLine();
}
client.CloseConnection();
}
private static void MessagePackHandle(Consumer<BasePack> consumer, BasePack receivedPack)
{
Console.WriteLine(receivedPack.GetString());
}
}
}
NETLIB Namespace
NETLIB.IOPackHandler(TPack)
NETLIB.Consumer(TPack)
NETLIB.BasePack
NETLIB.Protocol(TPack)
A Sandcastle Documented Class Library
Send comments on this topic to [](mailto:?Subject=A Sandcastle Documented Class Library)
-
NETLIB Namespace
-
BasePack Class
- BasePack Constructor
- BasePack Properties
-
BasePack Methods
- BasePack.DeepCopy Method
- BasePack.GetBool Method
- BasePack.GetByte Method
- BasePack.GetChar Method
- BasePack.GetDouble Method
- BasePack.GetFloat Method
- BasePack.GetInt Method
- BasePack.GetPackable(CustomType) Method
- BasePack.GetString Method
- BasePack.PutBool Method
- BasePack.PutByte Method
- BasePack.PutChar Method
- BasePack.PutDouble Method
- BasePack.PutFloat Method
- BasePack.PutInt Method
- BasePack.PutPackable(CustomType) Method
- BasePack.PutString Method
- BasePack.Read Method
- BasePack.Write Method
- BasePack Type Conversions
- BasePack Fields
- ConnectionClosedEventHandler Delegate
- ConnectionClosedEventHandler(Type) Delegate
- ConnectionClosedException Class
-
Consumer(TPack) Class
- Consumer(TPack) Constructor
- Consumer(TPack) Properties
-
Consumer(TPack) Methods
- Consumer(TPack).CloseConnection Method
- Consumer(TPack).Dispose Method
- Consumer(TPack).EndConsume Method
- Consumer(TPack).EndPublishConsume Method
- Consumer(TPack).Finalize Method
- Consumer(TPack).OnReceivedPackCall Method
- Consumer(TPack).PackFactory Method
- Consumer(TPack).SendPack Method
- Consumer(TPack).Start Method
- Consumer(TPack).StartConsume Method
- Consumer(TPack) Events
- ConsumerRunningException Class
- IOBasePackHandler Class
- IOPackHandler(TPack) Class
- IPackable Interface
- ListenerRunnigException Class
- Protocol(TPack) Class
-
Publisher Class
- Publisher Constructor
- Publisher Properties
- Publisher Methods
- Publisher Events
- Publisher Fields
- PublisherRunnigException Class
- ThrowPackEventHandler(TPack) Delegate
-
BasePack Class
- NETLIB.TCP Namespace
- NETLIB.TCP.Server Namespace