Was ich will:
Mit einem Client mehrere Server anschreiben (oder öfter hintereinander den gleichen) und den nach der Verbindung vom Server gesendeten String in die Box schreiben. (Alte Daten bleiben erhalten)
Leider kann ich immer nur beim ersten Mal den String auswerten / etwas empfangen.
Hier mein ClientCode:
Code: Alles auswählen
;Netzwerkverbindung initialisieren
If InitNetwork() = 0
MessageRequester("Error","Could not initialize the Network",0)
End
EndIf
;Platz im Arbeitsspeicher reservieren für spätere Nachrichten
*Puffer = AllocateMemory(1000)
;Hauptfenster öffnen und Gadgets einzeichnen
If OpenWindow(0, 1, 1, 500, 260, "LH CC", #PB_Window_ScreenCentered|#PB_Window_MinimizeGadget)
IPAddressGadget(0, 5, 5, 160,20)
SetGadgetState(0, MakeIPAddress(127,0,0,1))
ButtonGadget(2, 170, 5, 60, 20, "Get Hours")
EditorGadget(3, 1, 30, 497, 200, #PB_Editor_ReadOnly)
ButtonGadget(4, 395, 235, 100, 20, "Copy to Clipboard")
;Hauptschleife fürs Fenster
Repeat
EventID = WaitWindowEvent()
If EventID = #PB_Event_Gadget
Select EventGadget()
Case 2
ConnectionID = OpenNetworkConnection(GetGadgetText(0),6565)
Repeat
CEvent = NetworkClientEvent(ConnectionID)
If CEvent
Select CEvent
Case 2
a.l = a.l+1
ReceiveNetworkData(ConnectionID,*Puffer,1000)
AddGadgetItem(3, 1, "Projektor: " +GetGadgetText(0)+ " " +PeekS(*Puffer))
Delay(10)
CloseNetworkConnection(ConnectionID)
CloseConnection.b = 1
CEvent = 0
EndSelect
EndIf
Delay(20)
Until CloseConnection.b = 1
Case 4
EndSelect
EndIf
Until EventID = #PB_Event_CloseWindow
EndIf
;AddGadgetItem(0, a, "Line "+Str(a))
Code: Alles auswählen
If InitNetwork() = 0
MessageRequester("Error","Could not initialize the Network shit...",#PB_MessageRequester_Ok)
End
ElseIf OpenConsole() = 0
MessageRequester("Error","Could not initialize the Console...",#PB_MessageRequester_Ok)
End
ElseIf EnableGraphicalConsole(1) = 0
MessageRequester("Error","Could not EnableGConsole...",#PB_MessageRequester_Ok)
End
EndIf
*Puffer = AllocateMemory(1000)
Define IncomeMessage.s, Access.s, Verify.d, Why.s
If ReadFile(1,"Access.txt")
While Eof(1) = 0
Access.s = Access.s + " " +ReadString(1)
Wend
CloseFile(1)
EndIf
If CreateNetworkServer(1,6565)
PrintN("Server was started...")
PrintN("Running on Port 6565")
PrintN("")
ConsoleTitle("CAE LampHour CS")
Repeat
SEvent = NetworkServerEvent()
If SEvent
ClientID = EventClient()
Select SEvent
Case 1
PrintN("A New Client has connected! "+Str(ClientID))
PrintN("Sending lamp hours...")
SendNetworkString(ClientID,"3sdwew32")
Case 4
PrintN("He disconnected...")
EndSelect
EndIf
Delay(250)
Until Quit = 1
End
EndIf