Buchempfehlung
Windows System Programming
Windows System Programming
Das Kompendium liefert viele interessante Informationen zur Windows-Programmierung auf Englisch. [Mehr Infos...]
FreeBASIC-Chat
Es sind Benutzer im FreeBASIC-Chat online.
(Stand:  )
FreeBASIC bei Twitter
Twitter FreeBASIC-Nachrichten jetzt auch über Twitter erhalten. Follow us!

fb:porticula NoPaste

Info
Info / Hilfe
Liste
Übersicht / Liste
Neu
Datei hochladen
Suche
Quellcode suchen
Download
Dateidownload

TSNE-API-DOKU

Uploader:MitgliedThePuppetMaster
Datum/Zeit:31.01.2008 07:52:20

##############################################################################################################
 API-DOKU --- TSNE Version 2
##############################################################################################################
##############################################################################################################
    2007 By.: /_\ DeltaLab's - Deutschland
    Autor: Martin Wiemann
    26.12.2006
##############################################################################################################



##############################################################################################################
Declare Function    TSNE_Stats              (ByVal V_TSNEID as UInteger, ByRef B_RX as ULongInt, ByRef B_TX as ULongInt) as Long
##############################################################################################################
Gibt Status Informationen zu einer bestehenden Verbindung aus.
--------------------------------------------------------------------------------------------------------------
Rückgabe            = Die Rückgabe enthält eine GURU-ID
V_TSNEID            = Eine gültige Verbindungs-Nummer übergeben
                      Hierbei muss die Verbindungsnummer eine Nummer darstellen, die eine Aktive
                      Verbindung repräsentiert. Andernfalls wird eine GURU-ID <> 0 zurückgegeben.
B_RX                = Enthält nach dem Aufruf der Funktion die Anzahl von Bytes welche empfangen wurden
B_TX                = Enthält nach dem Aufruf der Funktion die Anzahl von Bytes welche gesendet wurden





##############################################################################################################
Declare Function    TSNE_Disconnect         (ByVal V_TSNEID as UInteger) as Long
##############################################################################################################
Beendet eine bestehende Verbindung (ob Server oder Client)
--------------------------------------------------------------------------------------------------------------
Rückgabe            = Die Rückgabe enthält eine GURU-ID
V_TSNEID            = Eine gültige Verbindungs-Nummer übergeben





##############################################################################################################
Declare Function    TSNE_Create_Server      (ByRef B_TSNEID as UInteger, ByRef V_Port as USHORT, ByRef MaxSimultanConnectionRequests as Long = 10, ByVal V_EventNewConPTR as any PTR, ByVal V_EventNewConCancelPTR as any PTR) as Long
##############################################################################################################
Erstellt eine neue Server Verbindung.
--------------------------------------------------------------------------------------------------------------
Rückgabe            = Die Rückgabe enthält eine GURU-ID
B_TSNEID            = Enthält nach dem Aufruf die Verbindungs-Nummer der neuen Verbindung
                      Die Neue Verbindugnsnummer ist nur dann <> 0, wenn die Verbindung
                      erfolgreich aufgebaut werden konnte.
                      Diese ID repräsentiert danach den Server.
V_Port              = Gibt die Port-Nummer an, aud der nach neuen Verbindungen gewartet wird. (Mögliche Werte: 0 bis 65535)
MaxSimultanConnectionRequests   = Gibt die Anzahl der Maximal gleichzeitigen gespeicherten Verbindungsanfragen an
                      Dieser Wert gibt, genauer gesagt, die Maximale Anzahl wartender Verbindungsanfragen an.
                      Ist dieser Wert z.B. 3, dann werden max. 3 Verbindungswünsche gespeichert.
                      Nach einem Aufruf von Accept wird dieser Verbindugnswunsch aus dem Speicher
                      genommen. Anschliessend kann wieder ein Verbindungswunsch gespeichert werden,
                      der wiederum mit Accept aus der lister herausgenommen wird.
                      Sollte der Zwischenspeicher voll sein, werden alle weiteren Verbindugnswünsche
                      automatisch abgelehnt und zurückgeweisen.
V_EventNewConPTR    = Ein Pointer auf die "NewConnection" Empfänger Sub Routine
                      Diese wird aufgerufen, wenn eine Verbindungsanfrage eines anderen Computers
                      gewünscht wird. Allerdings nur dann, wenn die BlackList ausgeschaltet
                      oder die IP-Adresse nich in der Blacklist vorhanden ist.
                      Ansonsten wird das folgende Event 'gefeuert'.
V_EventNewConCancelPTR  = Ein Pointer auf eine 'NewConnectionCanceled" Empfänger Sub Routine
                      Dieser Callback wird immer dann aufgerufen, wenn eine Verbindung automatisch
                      abgelehnt wurde. Dies kann z.B. dann der Fall sein, wenn die IP-Adresse
                      des Computers, der eine Verbindung wünscht, in der BlackList steht.





##############################################################################################################
Declare Function    TSNE_Create_Client      (ByRef B_TSNEID as UInteger, ByVal V_IPA as String, ByVal V_Port as USHORT, ByVal V_EventDisconPTR as any PTR, ByVal V_EventConPTR as any PTR, ByVal V_EventNewDataPTR as any PTR) as Long
##############################################################################################################
Stellt eine Verbindung zu einem Server her.
--------------------------------------------------------------------------------------------------------------
Rückgabe            = Die Rückgabe enthält eine GURU-ID
B_TSNEID            = Enthält nach dem Aufruf die Verbindungs-Nummer der neuen Verbindung
V_IPA               = Gibt die IP-Adresse des Servers an, mit dem die Verbindung hergestellt werden soll
V_Port              = Gibt die Port-Nummer an mit der die Verbindung aufgebaut werden soll. (Mögliche Werte: 0 bis 65535)
V_EventDisconPTR    = Ein Pointer auf die "Disconnect" Empfänger Sub Routine
                      Dieses Event wird immer dann ausgelösst, wenn die Verbindung beendet wurde.
                      Dies gilt für das Beenden vom Gegnerischen Computer, als auch vom eigenen.
                      Das Event wird jedoch nur 1x 'gefeuert'.
V_EventConPTR       = Ein Pointer auf die "Connect" Empfänger Sub Routine
                      Nach dem vollständigen Aufbau der Verbindugn wird dieses Callback aufgerufen.
                      Es teilt dem Programm mit, das die Verbindugn bereit ist Daten zu empfangen
                      oder zu senden. Auch Statusabfragen isnd ab jetzt möglich.
V_EventNewDataPTR   = Ein Pointer auf die "NewData" Empfänger Sub Routine
                      Dieses Event wird immer dann Aufgerufen, wenn neue Daten vorliegen.
                      Es wird nur dann ausgelösst, wenn die Verbindugn vollständig vorhanden ist.





##############################################################################################################
Declare Function    TSNE_Create_Accept      (ByVal V_RequestID as Socket, ByRef B_TSNEID as UInteger, ByRef B_IPA as String, ByVal V_EventDisconPTR as any PTR, ByVal V_EventConPTR as any PTR, ByVal V_EventNewDataPTR as any PTR) as Long
##############################################################################################################
Akzeptiert eine neue Verbindung welche vom Server signalisiert wird.
--------------------------------------------------------------------------------------------------------------
Rückgabe            = Die Rückgabe enthält eine GURU-ID
V_RequestID         = Gibt die Socket-Nummer an welche vom Server signalisiert wurde
B_TSNEID            = Enthält nach dem Aufruf die Verbindungs-Nummer der neuen Verbindung
B_IPA               = Gibt die IP-Adresse der neuen Verbindung zurück
V_EventDisconPTR    = Ein Pointer auf die "Disconnect" Empfänger Sub Routine
                      (Siehe TSNE_Create_Client)
V_EventConPTR       = Ein Pointer auf die "Connect" Empfänger Sub Routine
                      (Siehe TSNE_Create_Client)
V_EventNewDataPTR   = Ein Pointer auf die "NewData" Empfänger Sub Routine

                      (Siehe TSNE_Create_Client)





##############################################################################################################
Declare Function    TSNE_Data_Send          (ByVal V_TSNEID as UInteger, ByRef V_Data as String) as Long
##############################################################################################################
Senden Daten an eine Verbindung
--------------------------------------------------------------------------------------------------------------
Rückgabe            = Die Rückgabe enthält eine GURU-ID
                    = Ein Wert grösser 0 gibt die gesendeten Bytes an.
V_TSNEID            = Eine gültige Verbindungs-Nummer übergeben
V_Data              = Daten die an die Verbindung gesendet werden sollen





##############################################################################################################
Declare Sub         TSNE_WaitClose          (ByRef V_TSNEID as UInteger)
##############################################################################################################
Beendet diese Routine erst, wenn die angegebene Verbindung beendet wurde
--------------------------------------------------------------------------------------------------------------
V_TSNEID            = Eine gültige Verbindungs-Nummer übergeben





##############################################################################################################
Declare Function    TSNE_IsClosed           (ByRef V_TSNEID as UInteger) as Long
##############################################################################################################
Prüft ob die angegebene Verbindung beendet wurde und liefert eine 0 Bei aktiver Verbindung zurück.
--------------------------------------------------------------------------------------------------------------
Rückgabe            = Die Rückgabe enthält eine GURU-ID
V_TSNEID            = Eine gültige Verbindungs-Nummer übergeben





##############################################################################################################
Function TSNE_GetGURUCode(ByRef V_GURUID as Long) as String
##############################################################################################################
Gibt den Statustext zu einer GURU-ID zurück
--------------------------------------------------------------------------------------------------------------
  0 = No error
 -1 = Unknow error in function
 -2 = Unknow EVENT-ID
 -3 = No Socket found in V_SOCKET
 -4 = Can't create socket
 -5 = Can't bind port on socket
 -6 = Can't set socket into listening-mode
 -7 = Socket is already initalized
 -8 = MaxSimultanConnectionRequests out of valid range
 -9 = Port out of valid range
-10 = Can't resolve IP from Host
-11 = Can't connect to remote computer
-12 = TSNE-ID not found
-13 = Missing pointer of V_EventNewConPTR callback

Ansonsten = Unknow GURU-Code





##############################################################################################################
Callback-Funktionen
##############################################################################################################
Die Callback-Funktionen können einen beliebigen Namen tragen. Jedoch müssen die definierte Variablen besitzen.

1. TSNEID ist grundsätzlich ein UInteger udn wird ByVal übergeben
2. DATAEN werden als String verarebitet, und werden sowohl beim Senden als auch beim Empfangen
IMMER als ByRef übergeben.
3. REQUESTID ist die Socket-Nummer einer neuen Verbindung und muss als SOCKET Definiert werden.
4. IPA ist die IP-Adresse, udn liefert die IP-Adresse einer Verbindung zurück.


Als Beispiel kann man folgende Strukturen nutzen:

Declare Sub TSNE_Disconnected           (ByVal V_TSNEID as UInteger)
Declare Sub TSNE_Connected              (ByVal V_TSNEID as UInteger)
Declare Sub TSNE_NewData                (ByVal V_TSNEID as UInteger, ByRef V_Data as String)
Declare Sub TSNE_NewConnection          (ByVal V_TSNEID as UInteger, ByVal V_RequestID as Socket, ByVal V_IPA as String)
Declare Sub TSNE_NewConnectionCanceled  (ByVal V_TSNEID as UInteger, ByVal V_IPA as String)