|
Nebula
|
#include <stdtcpclientconnection.h>
A TcpClientConnection represents a connected TcpClient on the server side.
TcpClientConnection objects are created and maintained by a TcpServer object over the lifetime of a client connection. TcpClientConnection objects are used to communicate directly with the specific client represented by the connection object.
TcpClientConnection objects are generally non-blocking. To receive data from the client, call the Recv() method until it returns true, this indicates that received data is available in the RecvStream. To read data from the RecvStream attach a StreamReader which matches the data format your expecting from the client (e.g. BinaryReader, TextReader, XmlReader, etc...). To send data back to the client just do the reverse: write data to the SendStream, and at any time call the Send() method which will send all data accumulated in the SendStream to the client.
Inherits Core::RefCounted.
Public Member Functions | |
| StdTcpClientConnection () | |
| constructor | |
| virtual | ~StdTcpClientConnection () |
| destructor | |
| virtual bool | Connect (const Ptr< Socket > &s) |
| connect using provided socket | |
| bool | IsConnected () const |
| get the connection status | |
| virtual void | Shutdown () |
| shutdown the connection | |
| const IpAddress & | GetClientAddress () const |
| get the client's ip address | |
| virtual Socket::Result | Send () |
| send accumulated content of send stream to server | |
| virtual Socket::Result | Send (const Ptr< IO::Stream > &stream) |
| directly send a stream to the server, often prevents a memory copy | |
| virtual const Ptr< IO::Stream > & | GetSendStream () |
| access to send stream | |
| virtual Socket::Result | Recv () |
| receive data from server into recv stream | |
| virtual const Ptr< IO::Stream > & | GetRecvStream () |
| access to recv stream | |
Public Member Functions inherited from Core::RefCounted | |
| RefCounted () | |
| constructor | |
| int | GetRefCount () const |
| get the current refcount | |
| void | AddRef () |
| increment refcount by one | |
| void | Release () |
| decrement refcount and destroy object if refcount is zero | |
| bool | IsInstanceOf (const Rtti &rtti) const |
| return true if this object is instance of given class | |
| bool | IsInstanceOf (const Util::String &className) const |
| return true if this object is instance of given class by string | |
| bool | IsInstanceOf (const Util::FourCC &classFourCC) const |
| return true if this object is instance of given class by fourcc | |
| bool | IsA (const Rtti &rtti) const |
| return true if this object is instance of given class, or a derived class | |
| bool | IsA (const Util::String &rttiName) const |
| return true if this object is instance of given class, or a derived class, by string | |
| bool | IsA (const Util::FourCC &rttiFourCC) const |
| return true if this object is instance of given class, or a derived class, by fourcc | |
| const Util::String & | GetClassName () const |
| get the class name | |
| Util::FourCC | GetClassFourCC () const |
| get the class FourCC code | |
Protected Attributes | |
| Ptr< Socket > | socket |
| Ptr< IO::Stream > | sendStream |
| Ptr< IO::Stream > | recvStream |
Private Member Functions | |
| __DeclareClass (StdTcpClientConnection) | |
Additional Inherited Members | |
Static Public Member Functions inherited from Core::RefCounted | |
| static void | DumpRefCountingLeaks () |
| dump refcounting leaks, call at end of application (NEBULA_DEBUG builds only!) | |
Protected Member Functions inherited from Core::RefCounted | |
| virtual | ~RefCounted () |
| destructor (called when refcount reaches zero) | |
| Net::StdTcpClientConnection::StdTcpClientConnection | ( | ) |
constructor
|
virtual |
destructor
|
private |
connect using provided socket
| const IpAddress & Net::StdTcpClientConnection::GetClientAddress | ( | ) | const |
get the client's ip address
| bool Net::StdTcpClientConnection::IsConnected | ( | ) | const |
get the connection status
|
virtual |
receive data from server into recv stream
|
virtual |
send accumulated content of send stream to server
|
virtual |
directly send a stream to the server, often prevents a memory copy
|
virtual |
shutdown the connection
|
protected |
|
protected |