Hauptseite   Klassenhierarchie   Datenstrukturen   Auflistung der Dateien   Datenstruktur-Elemente   Datei-Elemente  

RNSocket.h

gehe zur Dokumentation dieser Datei
00001 /***********************************************************************************/
00002 /** \file               RNSocket.h
00003 **  \brief              Header File zur Klasse RNSocket
00004 *************************************************************************************
00005 **  Autor:              Christian Roesch
00006 **
00007 **  Erstelldatum:       27.03.2002
00008 **  letzte Aenderung:   31.03.2002
00009 *************************************************************************************
00010 **  Die Klasse RNSocket beitet eine Klasse zur Kapselung von WinSock.
00011 ************************************************************************************/
00012 
00013 #ifndef _RNSocket_H
00014 #define _RNSocket_H
00015 
00016 // includes
00017 #include <winsock.h>
00018 #include <stdio.h>
00019 
00020 // Klassen-Deklaration
00021 
00022 /***********************************************************************************/
00023 /** \brief  Kapsel für WinSock
00024 *************************************************************************************
00025 **  Die Klasse RNSocket beitet eine Klasse zur Kapselung von WinSock. Sie enthält 
00026 **  Methoden um Verbindungen herzustellen und Daten zu senden und zu empfangen.
00027 **  Die Klasse gibt jeweils bool Werte zurück, die den Erfolg der Methoden angeben.
00028 **  Bei einem false ist die Methode gescheitert, und der entsprechende Fehlercode
00029 **  kann über WSAGetLastError ausgelesen werden.
00030 ************************************************************************************/
00031 
00032 class   RNSocket
00033 {
00034 public:
00035     RNSocket(void);
00036     ~RNSocket(void);
00037 
00038 static bool init(int iMajorVersion = 1, int iMinorVersion = 1);
00039 
00040 static bool cleanUp(void);
00041 
00042 bool    create(int iAdressFamily=AF_INET, int iType=SOCK_STREAM,int iProtocol=IPPROTO_IP);
00043 
00044 bool    close(void);
00045 
00046 bool    shutdown(int iFlags);
00047 
00048 bool    connect(char* pcDestName, int iPort, int iAddressFamily=AF_INET);
00049 
00050 bool    bind(char* pcDestName, int iPort);
00051 
00052 bool    listen(int iBackLog=SOMAXCONN);
00053 
00054 bool    accept(RNSocket &socketNew);
00055 
00056 bool    receive(void* pvoidData, int* piLength, int iFlags=0);
00057 
00058 bool    send(void* pvoidData, int* piLength, int iFlags=0);
00059 
00060 bool    isReadable(bool &bReadable, int iMilliSeconds);
00061 
00062 bool    isWriteable(bool &bWriteable, int iMilliSeconds);
00063 
00064 protected:
00065 
00066 private:
00067     //! Socket - Handle 
00068     SOCKET      m_Socket;
00069     
00070     //! Adresse dieses Sockets
00071     sockaddr_in m_addrLocal;
00072 
00073     //! Adresse des Ziel-Sockets
00074     sockaddr_in m_addrTarget;
00075 
00076     //! Socket Version
00077     static WSAData  m_wsaData;
00078 
00079     //! gibt an, um WinSockets initialisiert sind
00080     static bool m_bSocketInitialized;
00081 };
00082 
00083 #endif//_RNSocket_H
00084 
00085 class   RNSocket;
00086 
00087 
00088 /************************************************************************************
00089 **  Ende der Datei:     RNSocket.h
00090 ************************************************************************************/

Erzeugt am Thu Apr 4 19:23:30 2002 für Rechnernetze-Aufgabe1 von doxygen1.2.13.1 geschrieben von Dimitri van Heesch, © 1997-2001