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

test_client_udp.bas

Uploader:MitgliedThePuppetMaster
Datum/Zeit:09.11.2008 05:34:28
Hinweis: Dieser Quelltext ist Bestandteil des Projekts TSNE V2 / V3, zu dem es auf FreeBASIC-Portal.de eine Projektseite gibt.

'##############################################################################################################
'TEST-CLIENT für TSNE_V3 [UDP]
'##############################################################################################################



'##############################################################################################################
#include once "TSNE_V3.bi"                          'Die TCP Netzwerkbibliotek integrieren



'##############################################################################################################
Dim G_ClientRX as UInteger                          'Eine Variable für den Client-Handel erstellen
Dim G_ClientTX as UInteger                          'Eine Variable für den Client-Handel erstellen



'##############################################################################################################
'   Deklarationen für die Empfänger Sub Routinen erstellen
'   Nur dann nötig, wenn die Sub's unterhalb des aufrufs stehen.
Declare Sub TSNE_NewDataUDP     (ByVal V_TSNEID as UInteger, ByVal V_IPA as String, ByRef V_Data as String)



'##############################################################################################################
Print "[INIT] Client..."                          'Programm beginnen
Dim BV as Integer                                   'Variable für Statusrückgabe erstellen


Print "[Create UDP]"
BV = TSNE_Create_UDP_TX(G_ClientTX)                 'UDP-Socket zum senden erstellen
'   Statusrückgabe auswerten
If BV <> TSNE_Const_NoError Then
    Print "[FEHLER] " & TSNE_GetGURUCode(BV)      'Fehler ausgeben
    End -1                                          'Programmbeenden
End If


BV = TSNE_Create_UDP_RX(G_ClientRX, 1234, @TSNE_NewDataUDP)     'UDP-Socket für den Empfang erstellen
'   Statusrückgabe auswerten
If BV <> TSNE_Const_NoError Then
    Print "[FEHLER] " & TSNE_GetGURUCode(BV)      'Fehler ausgeben
    End -1                                          'Programmbeenden
End If


Print "[OK]"                                      'Verbindung wurde erfolgreich hergestellt.


Do until inkey() = Chr(27)
    Print "Send"

    'Um Daten zu senden muss [NUR im UDP Modus] eine IP Adresse und ein Port angegeben werden.
    'Wird als IP-Adresse "0" angegeben wird die nachricht als Broadcast an alle im Subnetz vorhandenen
    'Clienten gesendet.
    BV = TSNE_Data_Send(G_ClientTX, Str(Timer()), , "localhost", 1234)      'Senden an DIREKT an sich selbst
'   BV = TSNE_Data_Send(G_ClientTX, Str(Timer()), , "0", 1234)              'Sendet an ALLE im Subnetz
    If BV <> TSNE_Const_NoError Then
        Print "[FEHLER] " & TSNE_GetGURUCode(BV)  'Fehler ausgeben
        End -1                                      'Programmbeenden
    End If
    sleep 1000, 1                                   'Im Sekundenabstand senden
Loop



TSNE_Disconnect(G_ClientTX)                         'UDP-Socket wieder schliessen
TSNE_Disconnect(G_ClientRX)                         'UDP-Socket wieder schliessen
Print "[WAIT] ..."                                    'Warte auf das ende der Verbindung (Disconnect)
TSNE_WaitClose(G_ClientTX)
TSNE_WaitClose(G_ClientRX)
Print "[WAIT] OK"


Print "[END]"
End                                                 'Anschliessend beenden wir unser Programm



'##############################################################################################################
Sub TSNE_NewDataUDP (ByVal V_TSNEID as UInteger, ByVal V_IPA as String, ByRef V_Data as String) 'Empfänger für neue Daten (UDP)
'Beim UDP-Modus wird nicht nur die empfangenen Daten, sondern auch die IP des senders übergeben.
Print "[NDA]: >" & V_IPA & "<___>" & V_Data & "<"
End Sub