TCP-Problem

Übersicht BlitzBasic Allgemein

Neue Antwort erstellen

joachim_neu

Betreff: TCP-Problem

BeitragMi, Sep 15, 2004 19:28
Antworten mit Zitat
Benutzer-Profile anzeigen
hallo,

ich wollte den TCP-Clodeschnippsel aus der Onlinehilfe:

Code: [AUSKLAPPEN]

server$ = Input("Adresse>") ; Die Adresse eingeben (IP-Adresse oder z.B. robsite.de)
stream = OpenTCPStream(server$, 21) ; Die Verbindung zum Server auf Port 21 herstellen.

; Die Input/Output-Schleife
Repeat
; Alles was der Server einem schickt auslesen und printen.
l$ = ReadLine$(stream)
Print l$

; Kommandos eingeben lassen und selbige an den Server schicken.
i$ = Input(">")
WriteLine stream, i$

; Solange wiederholen bis man 'ende' eingibt.
Until i$ = "ende"
End


so umbauen, dass er alle sachen vom server ausgibt:

Code: [AUSKLAPPEN]

server$ = Input("Adresse>") ; Die Adresse eingeben (IP-Adresse oder z.B. robsite.de)
stream = OpenTCPStream(server$, 21) ; Die Verbindung zum Server auf Port 21 herstellen.

; Die Input/Output-Schleife
Repeat
; Alles was der Server einem schickt auslesen und printen.
.again
l$ = ReadLine$(stream)
If l$ <> "" Then Print l$ : Goto again

; Kommandos eingeben lassen und selbige an den Server schicken.
i$ = Input(">")
WriteLine stream, i$

; Solange wiederholen bis man 'ende' eingibt.
Until i$ = "ende"
End


aber es geht nicht.

1. es dauert lange, bis der text ausgegeben wird;
2. danach werden meine Eingaben nichtmehr vom Server angenommen!!!

würde mir viel helöfen, wenn mir einer sagen könnte, woran das liegt...

thx
http://www.joachim-neu.de | http://www.orbitalpirates.de | http://www.middleageworld.de

dominik

BeitragMi, Sep 15, 2004 19:39
Antworten mit Zitat
Benutzer-Profile anzeigen
warum benutzt du port 21?
also ich habs bei ein paar mit port 110 und 80 probiert und es kam zumindest ein +ok zurück allerdings hat dein prog dann immern nur noch auf eingaben gewartet und anscheinend nix mehr gesendet oder ausgegeben.
ich weiß es auch nicht sicher baer es währe glaub ich besser wenn du gleich alle befehle und infos die du zum server schicken willst in den quelcode schreibs vll dauert das zu lange und die verbidung wird abgebrochen. (nur ne vermutung)
BB+ 1.41|Sempron 2.8|geforce fx5200|1GB DDR|XP home SP2 / prof.

joachim_neu

BeitragMi, Sep 15, 2004 19:42
Antworten mit Zitat
Benutzer-Profile anzeigen
port 21 ist FTP! den brauch' ich. das prog. soll ja eingaben nehmen und an den server schicken. der soll dann antworten... aber alle antworten sollen ausgegeben werden, nicht nur eine zeile von den antworten.
http://www.joachim-neu.de | http://www.orbitalpirates.de | http://www.middleageworld.de

dominik

BeitragMi, Sep 15, 2004 19:45
Antworten mit Zitat
Benutzer-Profile anzeigen
also ich hab mal zur email abfrage des gemacht:
Code: [AUSKLAPPEN]
Function Email_check(username$, password$, server$)
  tpop = OpenTCPStream("pop3." + server$, 110)
  a$ = ReadLine(tpop)
  DebugLog a$
  WriteLine tpop, "USER " + username$
  a$ = ReadLine(tpop)
  DebugLog a$
  WriteLine tpop, "PASS " + password$
  a$ = ReadLine(tpop)
  fehler$ = Mid(a$,1, 4)
  If fehler$ = "-ERR" Then
    SetGadgetText email_check_ausgabe, "Keine Verbindung!"
    DebugLog "ERR keine Verbindung!"
  EndIf
  DebugLog a$
  WriteLine tpop, "STAT"
  a$ = ReadLine(tpop)
  DebugLog a$
  emails_gesamt = Mid(a$, 5, 3)
  WriteLine tpop, "RETR " + emails_gesamt

  ;Neuer Mail check
  If FileType("Neum.dat") = 1 Then
    email_speicher = OpenFile("Neum.dat")
    alte_mails = ReadLine(email_speicher)
    CloseFile email_speicher

    If emails_gesamt > alte_mails Then
      SetGadgetText email_check_ausgabe, "Sie haben " + (emails_gesamt - alte_mails) + " neue Mail(s)."
      email_speicher = WriteFile("Neum.dat")
      WriteLine email_speicher, emails_gesamt
    Else
      SetGadgetText email_check_ausgabe, "Sie haben keine neuen Mails erhalten."
      email_speicher = WriteFile("Neum.dat")
      WriteLine email_speicher, emails_gesamt
    EndIf
  Else
    email_speicher = WriteFile("Neum.dat")
    WriteLine email_speicher, emails_gesamt
  EndIf
  CloseFile email_speicher

  a$ = ReadLine(tpop)
  DebugLog a$
  While a$ > ""
    a$ = ReadLine(tpop)
    DebugLog a$
  Wend

  WriteLine tpop, "QUIT"
  a$ = ReadLine(tpop)
  While a$ > ""
    a$ = ReadLine(tpop)
    DebugLog a$
  Wend

  CloseTCPStream tpop
  Emailcheck_start_ti


und des funtzt bei mir.
BB+ 1.41|Sempron 2.8|geforce fx5200|1GB DDR|XP home SP2 / prof.

Neue Antwort erstellen


Übersicht BlitzBasic Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group