Server-Suche?
Verfasst: 05.01.2008 22:20
Hi,
ich will in LAN alle möglichen Ports absuchen, und herrausfinden, welcher
dieser Ports gerade benutzt wird.
Also hier mal der Code:
;Serverside (diese Server sollen gefunden werden)
;LAN-Suchprogramm
Mein Problem ist, dass die Server nicht gefunden werden, bzw einfach Übersprungen werden.
Ich bin Dankbar für jede Hilfe.
ich will in LAN alle möglichen Ports absuchen, und herrausfinden, welcher
dieser Ports gerade benutzt wird.
Also hier mal der Code:
;Serverside (diese Server sollen gefunden werden)
Code: Alles auswählen
InitNetwork()
Procedure Ausgabe(String$)
AddGadgetItem(1, -1, String$)
SetActiveGadget(1)
EndProcedure
OpenWindow(1,0,0,400,300,"Server-Erstellung", #PB_Window_MinimizeGadget|#PB_Window_ScreenCentered)
CreateGadgetList(WindowID(1))
EditorGadget(1, 5, 5, 390, 260, #PB_Editor_ReadOnly)
Port1 = 320
Port2 = 479
Port3 = Random(7000)
Ausgabe("ErsterServer: "+Str(Port1))
Ausgabe("ZweiterServer: "+Str(Port2))
Ausgabe("DritterServer: "+Str(Port3))
CreateNetworkServer(1,Port1)
CreateNetworkServer(2,Port2)
CreateNetworkServer(3,Port3)
Repeat
Event = WindowEvent()
Select Event
Case #PB_Event_CloseWindow
quit = 1
EndSelect
Delay(100)
Until quit = 1
Code: Alles auswählen
InitNetwork()
Procedure Ausgabe(String$)
AddGadgetItem(1, -1, String$)
SetActiveGadget(1)
EndProcedure
Structure Server
Port.w
Ausgabe.w
EndStructure
Global NewList Server.Server()
OpenWindow(1,0,0,400,300,"Serversuche", #PB_Window_MinimizeGadget|#PB_Window_ScreenCentered)
CreateGadgetList(WindowID(1))
ButtonGadget(2,10,10,100,20,"Ports")
ButtonGadget(3,110,10,100,20,"Server")
EditorGadget(1, 35, 35, 360, 230, #PB_Editor_ReadOnly)
Port1 = 0
Port2 = 1
Ausgabe("==========")
Ausgabe("SERVERSUCHE...")
Repeat
EventID = WindowEvent()
If EventID = #PB_Event_CloseWindow
quit = 1
EndIf
If EventID = #PB_Event_Gadget
If EventGadget()=2
Ausgabe("Port1 : "+Str(Port))
EndIf
If EventGadget()=3
Ausgabe("Anzahl an gefundenen Server: "+Str(CountList(Server())))
EndIf
EndIf
Client = OpenNetworkConnection("127.0.0.1", Port)
If Client
AddElement(Server())
Server()\Port = Port
endif
Port + 1
ForEach Server()
If Server()\Ausgabe = 0
Ausgabe("Server gefunden! Port: "+Str(Server()\Port))
Server()\Ausgabe = 1
EndIf
Next
Delay(100)
Until quit = 1
Ich bin Dankbar für jede Hilfe.