Hmm da stimmen ein paar sachen nicht, auch hast du keinen Speicher freigegeben (ALlocatememory), aber der Fehler dürfte dir erst auftreten sobald case 2 beim server ausgerführt wird.
Hier für dich ein client-server beispiel:
Server:
Code: Alles auswählen
Procedure run_()
OpenConsole()
ConsoleColor(15,0):PrintN("") : PrintN("") : PrintN("")
Print("Initialize Network.......")
If InitNetwork()
Delay(1) : ConsoleColor(2,0) : PrintN("Done") : ConsoleColor(15,0) : PrintN("")
EndIf
Print("Starting server......")
If CreateNetworkServer(0,6000)
Delay(1) : ConsoleColor(2,0) : PrintN("Done") : ConsoleColor(15,0) : PrintN("")
Else
ConsoleColor(4,0) : PrintN("Failed") : ConsoleColor(15,0) : PrintN("")
EndIf
PrintN("--------------------------------------------------------------------------------")
EndProcedure
Procedure result(Command$,result)
If result = 1
PrintN("- Client called command: "+Command$+" Result: Done")
Else
PrintN("- Client called command: "+Command$+" Result: ERROR")
EndIf
EndProcedure
Procedure msg(newstring$)
MessageRequester("Info",newstring$,#MB_ICONINFORMATION)
EndProcedure
Procedure commandlist()
*Command = AllocateMemory(10000)
ReceiveNetworkData(EventClient(),*Command,10000)
Command$ = PeekS(*Command)
FreeMemory(*Command)
If FindString(Command$,"msg",0)
newstring$ = RemoveString(Command$,"msg")
CreateThread(@msg(),newstring$)
SendNetworkString(EventClient(),"Info sent!")
result(Command$,1)
Else
SendNetworkString(EventClient(),"Command error!")
result(Command$,0)
EndIf
EndProcedure
run_()
Repeat
Delay(1)
Select NetworkServerEvent()
Case 1
ConsoleColor(2,0) : PrintN("---- Client connected!") : ConsoleColor(15,0)
Case 2
commandlist()
Case 4
ConsoleColor(2,0):PrintN("---- Client disconnected!") : ConsoleColor(15,0)
EndSelect
ForEver
Client:
Code: Alles auswählen
Global connected, ConnID
Procedure run_()
OpenConsole()
PrintN(""):PrintN(""):PrintN(""):PrintN("")
PrintN(" NetBuster v0.1 Client")
PrintN(" Copyright (c) 2006 by Eimex.de")
PrintN("--------------------------------------------------------------------------------")
ConsoleColor(15,0)
Print("Initialize Network.......")
If InitNetwork()
Delay(1) : ConsoleColor(2,0) : PrintN("Done") : ConsoleColor(15,0) : PrintN("")
EndIf
Print("Connecting...............")
ConnID = OpenNetworkConnection("127.0.0.1",6000)
If ConnID
Delay(1) : ConsoleColor(2,0) : PrintN("Done") : ConsoleColor(15,0) : PrintN("")
connected = 1
Else
ConsoleColor(4,0) : PrintN("Failed") : ConsoleColor(15,0) : PrintN("") : PrintN("Program could not connect, press ENTER to exit.")
connected = 0
EndIf
PrintN("--------------------------------------------------------------------------------")
EndProcedure
Procedure recieve_answer(ConnID)
Repeat
Delay(1)
Select NetworkClientEvent(ConnID)
Case 2
*Command = AllocateMemory(5000)
ReceiveNetworkData(ConnID,*Command,10000)
Command$ = PeekS(*Command)
ConsoleColor(4,0)
Print("|| "+Command$) : ConsoleColor(15,0) : PrintN("")
FreeMemory(*Command)
EndSelect
ForEver
EndProcedure
run_()
If connected = 0 : Input() : End : EndIf
Repeat
Print("")
Command$ = Input()
SendNetworkString(ConnID,Command$)
CreateThread(@recieve_answer(),ConnID)
ForEver
- Server starten
- Client starten
- Befehle schreiben, wie msg nachricht
oder einfach irgend nen text: was passiert ist: client sendet text, server empfängt text und schaut ob es nen befehl ist. falls ja, führt er den befehl aus, falls nicht, sendet er nen error an den clienten.
Schau dir dort einfach die Repeatschleife an und wie daten empfangen/gesendet werden.
Der source ist von nem angefangenen programm von mir, was ic haber (noch) nicht weiterprogge, du darfst den code v. dh frei nutzen

Ist ja nicht viel :-P