TCP PRobleme

Übersicht BlitzMax, BlitzMax NG Allgemein

Neue Antwort erstellen

 

IonPainter

Betreff: TCP PRobleme

BeitragDo, Mai 26, 2005 1:33
Antworten mit Zitat
Benutzer-Profile anzeigen
warum tut es dieser code nicht Wink
was er bewirken soll:

browser verbindet auf 127.0.0.1:32000, bekommt immer ein 404 und stream wird geschlossen.

was passiert: bmax hängt in der while eof schleife fest.... warum?

Code: [AUSKLAPPEN]

Global L_HTTPServer:TList = New TList

Type T_HTTPServer

   Field Stream
   
End Type

'Server starten

Server = CreateTCPServer(32000)

If Server = 0 Then
   Notify "Server konnte nicht initialisiert werden!"
   End
EndIf

'Hauptschleife

Repeat

   Client = AcceptTCPStream(Server)

   If Client Then
   
      'Neuer Server(thread)

      HTTPServer:T_HTTPServer = New T_HTTPServer
      HTTPServer.Stream = Client
      L_HTTPServer.AddLast HTTPServer
      
      While Not Eof(httpserver.stream)
      
         Print ReadLine(httpserver.stream)
      
      Wend
      
      Print "write"
      WriteLine HTTPServer.stream, "HTTP/1.1 404 Not found"
      closetcpserver Httpserver.stream
   
   
   EndIf
   
   FlushMem

Forever


den listen und type kram nicht so ernst nehmen, is nur so hingeschludert was aber am problem nix ändert...

dank,
ion

rema

BeitragDo, Mai 26, 2005 7:22
Antworten mit Zitat
Benutzer-Profile anzeigen
Leider kann ich kein Server und kein Client erstellen.

Server = CreateTCPServer(32000)
Client = AcceptTCPStream(Server)

Wo ist der restliche Code?
 

IonPainter

BeitragDo, Mai 26, 2005 9:56
Antworten mit Zitat
Benutzer-Profile anzeigen
es gibt keinen restlichen code, der code hier ist der server, der client ist ein browser der bei aufruf von 127.0.0.1:32000 auf den server zugreift und eine fehlermeldung ausgeben sollte (seite nicht gefunden).

rema

BeitragDo, Mai 26, 2005 12:07
Antworten mit Zitat
Benutzer-Profile anzeigen
Also unter Linux wie auch Windows finde ich eben nicht diese Befehle:

Server = CreateTCPServer(32000)
Client = AcceptTCPStream(Server)

Hast du gegebenfals Vertex seine NetLib ( https://www.blitzforum.de/viewtopic.php?t=9131 ) als Modul eingefügt? Da musst du halt sagen.

Was ich gerade im Quellcode von NetLib sehe:

NETLIB_MAX_CLIENTS = 32

Das musst du halt auch überprüfen.

Vertex

BeitragDo, Mai 26, 2005 13:44
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi!

In wie weit meinst du, das er hängt? Bei mir reagiert dein Code in Blitz3D genauso, wie in BlitzMax. In Blitz3D schmeist er nur zusätzlich "Memory Acces Violation"(bei CloseTCPStream) raus, da die Connection nach 404 Error tot ist.

Bei mir "hängt" er exakt 10 Sekunden, was die voreigestellte Read-Timeout Zeit ist. Musst halt mit TCPTimeouts einstellen.

Ansonsten: Nicht vergessen, den HTTP-Header mit einer Leerzeile von den Nutzdaten abzutrennen.

mfg olli
vertex.dreamfall.at | GitHub
 

IonPainter

BeitragDo, Mai 26, 2005 14:11
Antworten mit Zitat
Benutzer-Profile anzeigen
wenn ich tcptimeouts 0 einstelle, bringt das nachteile? ist bei udp ja auch so oder?
 

IonPainter

BeitragDo, Mai 26, 2005 15:12
Antworten mit Zitat
Benutzer-Profile anzeigen
so nach einigen expirimenten folgendes:

er kommt aus der eof schleife nicht raus, auch mit tcptimeouts 0, 0 nicht! warum? irgendwann sendet doch der browser nichts mehr, wie kann ich das erkennen?

Neue Antwort erstellen


Übersicht BlitzMax, BlitzMax NG Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group