TServerSocket


class description - source file - inheritance tree

class TServerSocket : public TSocket

    private:
TServerSocket TServerSocket() TServerSocket TServerSocket(const TServerSocket&) void operator=(const TServerSocket&) public:
TServerSocket TServerSocket(Int_t port, Bool_t reuse = kFALSE, Int_t backlog = kDefaultBacklog, Int_t tcpwindowsize = -1) TServerSocket TServerSocket(const char* service, Bool_t reuse = kFALSE, Int_t backlog = kDefaultBacklog, Int_t tcpwindowsize = -1) virtual void ~TServerSocket() virtual TSocket* Accept() static TClass* Class() virtual TInetAddress GetLocalInetAddress() virtual Int_t GetLocalPort() virtual TClass* IsA() const virtual Int_t Recv(TMessage*&) virtual Int_t Recv(Int_t&, Int_t&) virtual Int_t Recv(char*, Int_t) virtual Int_t Recv(char*, Int_t, Int_t&) virtual Int_t RecvRaw(void*, Int_t, ESendRecvOptions = kDefault) virtual Int_t Send(const TMessage&) virtual Int_t Send(Int_t) virtual Int_t Send(Int_t, Int_t) virtual Int_t Send(const char*, Int_t = kMESS_STRING) virtual Int_t SendObject(const TObject*, Int_t = kMESS_OBJECT) virtual Int_t SendRaw(const void*, Int_t, ESendRecvOptions = kDefault) virtual void ShowMembers(TMemberInspector& insp, char* parent) virtual void Streamer(TBuffer& b) void StreamerNVirtual(TBuffer& b)

Data Members


    public:
static const enum TObject:: kDefaultBacklog


See also

TPServerSocket

Class Description

                                                                      
 TServerSocket                                                        
                                                                      
 This class implements server sockets. A server socket waits for      
 requests to come in over the network. It performs some operation     
 based on that request and then possibly returns a full duplex socket 
 to the requester. The actual work is done via the TSystem class      
 (either TUnixSystem, TWin32System or TMacSystem).                    
                                                                      


TServerSocket(const char *service, Bool_t reuse, Int_t backlog, Int_t tcpwindowsize)
 Create a server socket object for a named service. Set reuse to true
 to force reuse of the server socket (i.e. do not wait for the time
 out to pass). Using backlog one can set the desirable queue length
 for pending connections.
 Use tcpwindowsize to specify the size of the receive buffer, it has
 to be specified here to make sure the window scale option is set (for
 tcpwindowsize > 65KB and for platforms supporting window scaling).
 Use IsValid() to check the validity of the
 server socket. In case server socket is not valid use GetErrorCode()
 to obtain the specific error value. These values are:
  0 = no error (socket is valid)
 -1 = low level socket() call failed
 -2 = low level bind() call failed
 -3 = low level listen() call failed
 Every valid server socket is added to the TROOT sockets list which
 will make sure that any open sockets are properly closed on
 program termination.

TServerSocket(Int_t port, Bool_t reuse, Int_t backlog, Int_t tcpwindowsize)
 Create a server socket object on a specified port. Set reuse to true
 to force reuse of the server socket (i.e. do not wait for the time
 out to pass). Using backlog one can set the desirable queue length
 for pending connections. If port is 0 a port scan will be done to
 find a free port. This option is mutual exlusive with the reuse option.
 Use tcpwindowsize to specify the size of the receive buffer, it has
 to be specified here to make sure the window scale option is set (for
 tcpwindowsize > 65KB and for platforms supporting window scaling).
 Use IsValid() to check the validity of the
 server socket. In case server socket is not valid use GetErrorCode()
 to obtain the specific error value. These values are:
  0 = no error (socket is valid)
 -1 = low level socket() call failed
 -2 = low level bind() call failed
 -3 = low level listen() call failed
 Every valid server socket is added to the TROOT sockets list which
 will make sure that any open sockets are properly closed on
 program termination.

TSocket* Accept()
 Accept a connection on a server socket. Returns a full-duplex
 communication TSocket object. If no pending connections are
 present on the queue and nonblocking mode has not been enabled
 with SetOption(kNoBlock,1) the call blocks until a connection is
 present. The returned socket must be deleted by the user. The socket
 is also added to the TROOT sockets list which will make sure that
 any open sockets are properly closed on program termination.
 In case of error 0 is returned and in case non-blocking I/O is
 enabled and no connections are available -1 is returned.

TInetAddress GetLocalInetAddress()
 Return internet address of host to which the server socket is bound,
 i.e. the local host. In case of error TInetAddress::IsValid() returns
 kFALSE.

Int_t GetLocalPort()
 Get port # to which server socket is bound. In case of error returns -1.



Inline Functions


                 void operator=(const TServerSocket&)
        TServerSocket TServerSocket(Int_t port, Bool_t reuse = kFALSE, Int_t backlog = kDefaultBacklog, Int_t tcpwindowsize = -1)
        TServerSocket TServerSocket(const char* service, Bool_t reuse = kFALSE, Int_t backlog = kDefaultBacklog, Int_t tcpwindowsize = -1)
                Int_t Send(const TMessage&)
                Int_t Send(Int_t)
                Int_t Send(Int_t, Int_t)
                Int_t Send(const char*, Int_t = kMESS_STRING)
                Int_t SendObject(const TObject*, Int_t = kMESS_OBJECT)
                Int_t SendRaw(const void*, Int_t, ESendRecvOptions = kDefault)
                Int_t Recv(TMessage*&)
                Int_t Recv(Int_t&, Int_t&)
                Int_t Recv(char*, Int_t)
                Int_t Recv(char*, Int_t, Int_t&)
                Int_t RecvRaw(void*, Int_t, ESendRecvOptions = kDefault)
              TClass* Class()
              TClass* IsA() const
                 void ShowMembers(TMemberInspector& insp, char* parent)
                 void Streamer(TBuffer& b)
                 void StreamerNVirtual(TBuffer& b)
                 void ~TServerSocket()


Author: Fons Rademakers 18/12/96
Last update: root/net:$Name: $:$Id: TServerSocket.cxx,v 1.3 2001/01/23 19:01:55 rdm Exp $
Copyright (C) 1995-2000, Rene Brun and Fons Rademakers. *


ROOT page - Class index - Top of the page

This page has been automatically generated. If you have any comments or suggestions about the page layout send a mail to ROOT support, or contact the developers with any questions or problems regarding ROOT.