OpenTCPStream(ip,port) frage

Übersicht BlitzBasic Allgemein

Neue Antwort erstellen

 

Marius D.

Betreff: OpenTCPStream(ip,port) frage

BeitragFr, Jul 20, 2007 2:39
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi Leute,
ich habe malwieder eine frage ^^
muss ich nach jedem sender wieder den stream neu öffnen?
oder gibt es ne andere lösung?
im moment mache ich das so :

Code: [AUSKLAPPEN]
sender=OpenTCPStream("192.168.0.3",10000)
writestring sender,"hallo"
Delay(1000)
sender=OpenTCPStream("192.168.0.3",10000)
writestring sender,"tschau"

Silver_Knee

BeitragFr, Jul 20, 2007 11:03
Antworten mit Zitat
Benutzer-Profile anzeigen
ähm du kannst ruhig im stream bleiben:
das was du beschreibst macht das htt-Protokoll das will für jede datei n neuen stream... zum testen mit einem stream kannst du mal den FTP port 23 nutzen und dich damit mal bei nem FTP-fähigen Webspace anmelden da läuft die frage/antwort auch nur mit einem stream.
 

Marius D.

BeitragFr, Jul 20, 2007 12:11
Antworten mit Zitat
Benutzer-Profile anzeigen
jo aber ich benutze meinen server und meinen clienten ^^
benutze port 25000
der server kann durchgehen empfangen
aber der client nur einmal was senden...
 

Dreamora

BeitragFr, Jul 20, 2007 12:18
Antworten mit Zitat
Benutzer-Profile anzeigen
Zeig doch bitte den Code für beide Seiten der das Senden, Akzeptieren von Verbindungen etc handhabt.

Ziemlich sicher hast du da etwas grundlegend falsches drin.
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.
 

Marius D.

BeitragFr, Jul 20, 2007 12:56
Antworten mit Zitat
Benutzer-Profile anzeigen
kk wie die packete bearbeitet werden aber nicht ne?

der server
Code: [AUSKLAPPEN]
empfaenger=CreateTCPServer(25000)

Print "Server wird gestartet"
If empfaenger =0 Then
Print "Server konnte nicht gestartet werden"
WaitKey
End
End If


While Not KeyHit(1)
empfaengeraccept=AcceptTCPStream(empfaenger)
If empfaengeraccept <> 0 Then
sendstring$ = ReadString$(empfaengeraccept)

;dann z.b. nen packet verarbeiten
if(sendstring$ = "start" then
empfangip = TCPStreamIP(empfaengeraccept)
empfangipdotted$ = DottedIP(empfangip)
sender=OpenTCPStream(empfangipdotted$,25001)
Print "Das Spiel kann beginnen"
writestring sender,"Start ok"
endif


Wend
End


Der Client
Code: [AUSKLAPPEN]
empfaenger=CreateTCPServer(25001)
username$ = Input("Bitte gebe deinen Username ein > ")
Print "Please wait"
sender=OpenTCPStream("192.168.0.3",25000)
WriteString sender,"start"


While Not KeyHit(1)
empfaengeraccept=AcceptTCPStream(empfaenger)
If empfaengeraccept <> 0 Then
sendstring$ = ReadString$(empfaengeraccept)
if sendstring$ = "Start ok"
Wend


So in etwa ist das außer das der server im moment 2 Packete Verarbeiten soll und der client 1
 

Dreamora

BeitragFr, Jul 20, 2007 13:33
Antworten mit Zitat
Benutzer-Profile anzeigen
Erm der Client erzeugt keinen TCP server

Du erzeugst beim Server einen, der Client connected da drauf und dann schickst du die Daten über den Stream.
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.
 

Marius D.

BeitragFr, Jul 20, 2007 13:40
Antworten mit Zitat
Benutzer-Profile anzeigen
oô doch
Code: [AUSKLAPPEN]
empfaenger=CreateTCPServer(25001) ;da
username$ = Input("Bitte gebe deinen Username ein > ")
Print "Please wait"
sender=OpenTCPStream("192.168.0.3",25000) ;da der sender
WriteString sender,"start"

Smily

BeitragFr, Jul 20, 2007 13:50
Antworten mit Zitat
Benutzer-Profile anzeigen
Das ist aber nicht notwendig.
(Ich habs nicht getestet aber es sollte funzen)
Code: [AUSKLAPPEN]

svr = createtcpserver(1000)
repeat
  tmp = Accepttcpstream(svr)
  if tmp tcp = tmp
  if tcp
    z$ = Readline(tcp)
    print z$
    if z$ = "hallo" writeline tcp, "hallo auch"
  end if
until keyhit(1)


Code: [AUSKLAPPEN]

tcp = opentcpstream("127.0.0.1", 1000)
writeline tcp, "bin daaaa... wer noch?"
writeline tcp, "moep mop"
writeline tcp, "hallo"
print readline(tcp)
Lesestoff:
gegen Softwarepatente | Netzzensur | brain.exe | Unabhängigkeitserklärung des Internets

"Wir müssen die Rechte der Andersdenkenden selbst dann beachten, wenn sie Idioten oder schädlich sind. Wir müssen aufpassen. Wachsamkeit ist der Preis der Freiheit --- Keine Zensur!"
stummi.org

Nooby

BeitragSa, Jul 28, 2007 13:37
Antworten mit Zitat
Benutzer-Profile anzeigen
Also erstmal hat "CreateTCPServer" ebenso wie "AcceptTCPStream" beim Client überhaupt nichts verloren. Das ist nur für den Server. Der Client verbindet mit "OpenTCPStream". Die Variable, der du den Stream zuweist, behält ihren Wert, solange du willst. Du brauchst also nicht ständig neu verbinden. Ob Der am anderen Ende der Leitung noch da ist, ist was anderes.

Ich würde deinen Code so ändern:

Server:
Code: [AUSKLAPPEN]
server=CreateTCPServer(25000)

Print "Server wird gestartet..."
If server = 0
 Print "Server konnte nicht gestartet werden"
 WaitKey
 End
End If


While Not KeyHit(1)
 If stream = 0
  stream = AcceptTCPStream(server)
 Else
  sendstring$ = ReadString$(stream)

 ;dann z.b. nen packet verarbeiten
 If sendstring$ = "start"
  writestring stream, "Start ok"
  Print "Das Spiel kann beginnen"
 EndIf

Wend
End


Client:
Code: [AUSKLAPPEN]
stream = OpenTCPStream("192.168.0.3", 25000)
If stream = 0
 Print "Verbindung fehlgeschlagen"
 Waitkey
 End
EndIf
username$ = Input("Bitte gebe deinen Username ein > ")
WriteString stream,"start"

While Not KeyHit(1)
 If readavail(stream) Then
 sendstring$ = ReadString$(stream)
 If sendstring$ = "Start ok" then wasweissich()
Wend


Lies dir mal sorgfältig die Online-Hilfe zu TCP durch.
DAS PERPETUOMOBILE!!!
http://www.sax.de/~stalker/pad/199801/

Neue Antwort erstellen


Übersicht BlitzBasic Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group