Seite 2 von 2
Verfasst: 19.04.2008 08:36
von kreeph
ok danke, habs ausprobiert aber musste ein paar sachen entfernen, damit der code funktioniert hat.

jetzt hat es geklappt (glaub ich zumindest) aber der server antwortete mir nicht...
ich glaube ich kann den code einfach nicht richtig umformen. könnt ihr mir helfen?:coderselixir:
bitte und danke schonmal !
kreeph
Verfasst: 19.04.2008 13:49
von tobe
wenn du deine umgeformte version postest kann ich dir sagen woran es scheitert

hier nochmal eine veränderte version von mir:
Code: Alles auswählen
CRLF$ = Chr(13) + Chr(10)
Procedure Receive(ClientID.l)
mem$ = Space($FFFF)
PrintN(PeekS(@mem$, ReceiveNetworkData(ClientID, @mem$, $FFFF)))
EndProcedure
OpenConsole()
If InitNetwork()
Print("Ip vom TS server: ")
ip$ = Input()
PrintN("verbinde mit " + ip$ + ":51234")
ServerID.l = OpenNetworkConnection(ip$, 51234)
If ServerID = 0
PrintN("fehler beim verbindungsaufbau mit " + ip$)
Input()
End
EndIf
Receive(ServerID)
PrintN("sende help")
SendNetworkString(ServerID, "help" + CRLF$)
Receive(ServerID)
Repeat
input$ = Input()
If input$
SendNetworkString(ServerID, input$ + CRLF$)
Receive(ServerID)
EndIf
Until LCase(input$) = "quit"
EndIf
End
Verfasst: 19.04.2008 15:01
von kreeph
der code scheint zu funktionieren aber nachdem ich erfolgreich den server kontaktiert habe, stürzt das programm ab
Verfasst: 19.04.2008 17:11
von tobe
hmm, abstürzen sollte es nicht

ich hab das mit meinem TS server im lan getestet, kein plan wie sich das bei einem server im internet verhält, aber es sollte ja auch nur ein beispiel sein wie es ungefähr geht

Verfasst: 19.04.2008 18:16
von kreeph
vielleicht stürzt der code halt in 3.30 ab. also iss es warscheinlich immer noch nich ganz richtig

Verfasst: 23.04.2008 18:07
von tobe
jetzt hab ich mal meine erste PB version ausgepackt und da stürzt der code auch ab

der code müsste bei dir jetzt auch laufen:
Code: Alles auswählen
#MEM = 5000
Global Quit
Procedure PrintText(text$)
StartPosition = 1
Repeat
EndPosition = FindString(text$, Chr(13), StartPosition)
If EndPosition
PrintN(Mid(text$, StartPosition, EndPosition - StartPosition))
StartPosition = EndPosition + 2
Else
len = Len(text$) - StartPosition + 1
If len > 0
Print(Mid(text$, StartPosition, len))
EndIf
EndIf
Until EndPosition = 0
EndProcedure
Procedure Receive(ConnectionID.l)
mem = AllocateMemory(0, #MEM, 0)
Repeat
If NetworkClientEvent(ConnectionID)
size = ReceiveNetworkData(ConnectionID, mem, #MEM)
PrintText(PeekS(mem, size))
Else
Delay(30)
EndIf
Until Quit
FreeMemory(0)
EndProcedure
OpenConsole()
If InitNetwork()
Print("Ip vom TS server: ")
ip$ = Input()
PrintN("")
PrintN("Verbinde mit " + ip$ + ":51234")
ConnectionID.l = OpenNetworkConnection(ip$, 51234)
If ConnectionID = 0
PrintN("Fehler beim Verbindungsaufbau mit " + ip$)
Input()
End
EndIf
ThreadID = CreateThread(@Receive(), ConnectionID)
Repeat
input$ = Input()
If input$
PrintN("")
SendNetworkString(ConnectionID, input$ + Chr(13) + Chr(10))
Else
PrintN("help fuer befehlsliste oder quit zum beenden")
EndIf
Until LCase(input$) = "quit"
Quit = 1
WaitThread(ThreadID)
CloseNetworkConnection(ConnectionID)
EndIf
End
mfG
tobe
Verfasst: 27.04.2008 19:30
von kreeph
wow, danke es funzt jetzt
hab die zweite seite erst übersehen
