Fehler bei TCP

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

Kleiner satan

Betreff: Fehler bei TCP

BeitragFr, Jul 28, 2006 11:48
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo,
ich habe ein problem mit TCP...ich habe 2 programme, eins was einen TCP server erstellt und eins was einmfach nur überprüft ob s den gibt und sowas!

Hier sind die codes:

Server:
Code: [AUSKLAPPEN]

server1=CreateTCPServer(80)
If server1 <> 0 Then
 Print"Gestartet..."
 WaitKey
 End
Else
 Print"Fehler..."
 WaitKey
  End
EndIf


Überprüfung:
Code: [AUSKLAPPEN]

server1 = OpenTCPStream("127.0.0.1", 80)
Print server1
If server1 <> 0 Then
stream = AcceptTCPStream(server1)
If stream Then
  Print ReadLine(stream)
EndIf
EndIf
WaitKey
End


wenn ich den "server" starte und dann das andere programm dann kommt die fehlermedlung: TCP Server does not exist
und dabei markiert er diese zeile: stream = AcceptTCPStream(server1)

aber server1 = OpenTCPStream("127.0.0.1", 80) liefert trotzdem keine 0 zurück!
kann mir einer helfen??

danke

Schnittlauch

Unkraut

BeitragFr, Jul 28, 2006 11:50
Antworten mit Zitat
Benutzer-Profile anzeigen
Du brauchst noch ne schleife im Server, weil so wird er ja gleich wieder beendet.
Ich wars nicht.

Hubsi

BeitragFr, Jul 28, 2006 11:51
Antworten mit Zitat
Benutzer-Profile anzeigen
AcceptTCPStream wird nur vom Server akzeptiert Very Happy
Den ganzen Doag im Bett umanandflagga und iaz daherkema und meine Hendl`n fressn...

Kleiner satan

BeitragFr, Jul 28, 2006 11:59
Antworten mit Zitat
Benutzer-Profile anzeigen
wie meinst du das der nur von server aktzetiert wird??

Hubsi

BeitragFr, Jul 28, 2006 12:05
Antworten mit Zitat
Benutzer-Profile anzeigen
Du hast AcceptTCPStream auf Clientseite drinnen. Aber einen Stream akzeptieren kann nur der Server, da der Client zum Server verbinden will, nicht umgekehrt Very Happy
Den ganzen Doag im Bett umanandflagga und iaz daherkema und meine Hendl`n fressn...

Kleiner satan

BeitragFr, Jul 28, 2006 12:07
Antworten mit Zitat
Benutzer-Profile anzeigen
hmm
achso...aber ich muss nicht in beiden programmen einen server starten oder?

Hubsi

BeitragFr, Jul 28, 2006 12:17
Antworten mit Zitat
Benutzer-Profile anzeigen
Nein. Das Prinzip ist relativ einfach:

Es wird ein Server gestartet. Beliebig (theoretisch wenigstens, Bandbreite, Datenmenge, etc. begrenzen das ganze freilich irgendwann) viele Clienten können jetzt zu diesem Server verbinden. Der Stream des Clienten (die Nummer ums vereinfacht auszudrücken) bekommt man von AcceptTCPStream geliefert. Für jeden Clienten wird dieser Stream gespeichert (Type eigent sich da in aller Regel am besten). Ein Client schreibt nun in seinen Stream (der Wert den OpenTCPStream zurückgibt) seine Daten, worauf der Server aus diesem einen Stream (ReadAvail ist da hilfreich) diese Daten lesen kann. Die Daten werden üblicherweise dann an die anderen Clienten weitergeleitet (zur Erinnerung: jeder Client hat auf Serverseite seinen eigenen Stream) und fertig ist die Laube Very Happy
Den ganzen Doag im Bett umanandflagga und iaz daherkema und meine Hendl`n fressn...
 

Shark

BeitragFr, Jul 28, 2006 12:35
Antworten mit Zitat
Benutzer-Profile anzeigen
Was Hubsi dir damit sagen will ist hier das!
Server
Code: [AUSKLAPPEN]

server1=CreateTCPServer(80) ;Man erstellt ein Server!
If server1 <> 0 Then
 Print"Gestartet..."
Else
 Print"Fehler..."
 WaitKey
  End
EndIf

Repeat
stream = AcceptTCPStream(server1) ;Hier wird geprüft ob sich ein Client auf den Server einloggen will!
   If stream > 0 Then
      Print "Ein Client ist da"   ;Wenn ja dann wird dem Client die Nachricht "Server gestartet übermittelt"
      WriteLine stream,"Server gestartet"
   EndIf
Until KeyHit(1)


und hier noch der Client
Code: [AUSKLAPPEN]

server1 = OpenTCPStream("127.0.0.1",80)
Print ReadLine(server1);Hier wird die Nachricht gelesen.
WaitKey()
End



mfg Shark

Kleiner satan

BeitragFr, Jul 28, 2006 12:45
Antworten mit Zitat
Benutzer-Profile anzeigen
höhö
das war gut erklärt!
aber wie kann ich im client abfragen ob eine neue nachricht da ist??

Hubsi

BeitragFr, Jul 28, 2006 12:49
Antworten mit Zitat
Benutzer-Profile anzeigen
Zitat:
worauf der Server aus diesem einen Stream (ReadAvail ist da hilfreich) diese Daten lesen kann

So Very Happy
Den ganzen Doag im Bett umanandflagga und iaz daherkema und meine Hendl`n fressn...

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group