je voudrais faire un serveur avec une fenêtre pour pouvoir le fermer mais le problème c'est que le serveur ne répond pas aux requettes.
Code : Tout sélectionner
;- Window Constants
;
Enumeration
#Window_0
EndEnumeration
;- Gadget Constants
;
Enumeration
#Button_0
EndEnumeration
Procedure Open_Window_0()
If OpenWindow(#Window_0, 0, 0, 202 , 65 , #PB_Window_SystemMenu | #PB_Window_MinimizeGadget | #pb_window_maximizegadget | #PB_Window_SizeGadget | #PB_Window_TitleBar | #PB_Window_ScreenCentered , "Serveur")
If CreateGadgetList(WindowID())
ButtonGadget(#Button_0, 30, 10, 100, 20, "Quitter le serveur")
EndIf
StatusBarText(0,0,"Serveur prait :-)",#pb_statusBar_center)
EndIf
EndProcedure
Procedure prand(client)
buffer=AllocateMemory(1000)
ReceiveNetworkData(client,buffer,8)
datanet$=PeekS(buffer)
ProcedureReturn datanet$
EndProcedure
If InitNetwork()
If CreateNetworkServer(22021987)
Open_Window_0()
Repeat
Select WindowEvent()
Case #PB_EventGadget
Select EventGadgetID()
Case #Button_0
quit=1
EndSelect
Case #PB_Event_CloseWindow
quit=1
EndSelect
evenement=NetworkServerEvent()
If evenement
id=NetworkClientID()
Select evenement
Case 1 ; Nouveau client
MessageRequester("Information","Nouveau client connecté.",#mb_ok|#mb_iconstop)
Case 2 ; Information ressue
Select prand(id)
Case "ouvcdrom"
If InitCDAudio()
EjectCDAudio(1)
Else
SendNetworkString(id,"nocdaudi")
EndIf
Case "fercdrom"
If InitCDAudio()
EjectCDAudio(0)
Else
SendNetworkString(id,"nocdaudi")
EndIf
Case "playson"
If InitSound()
If LoadSound(0,Env("%windir%\media\tada.wav"))
PlaySound(0)
Delay(2000)
PlaySound(0)
Delay(2000)
FreeSound(0)
Else
SendNetworkString(id,"soundnol")
EndIf
Else
SendNetworkString(id,"nosocard")
EndIf
Case "bouh_box"
MessageRequester("Bouh!","Tu vas fliper mon vieu!",#mb_ok|#mb_iconstop)
EndSelect
Case 3 ; Fichier envoyé
fichier$=Str(id)+" "+Str(Random(2202))+" "+Str(Random(2202))+".txtt"
ReceiveNetworkFile(id,fichier$)
MessageRequester("Fichier ressu","Vous venez de recevoir le fichier "+fichier$+"."+#crlf+"Avant de l'ouvrire, analysez-le pour éviter toute infection virale.",#mb_ok|#mb_iconasterisk)
Case 4 ; Client déconnecté
MessageRequester("Information","Le client "+Str(id)+" vien de se déconnecter.",#mb_ok|#mb_iconasterisk)
EndSelect
EndIf
Delay(20)
Until quit=1
CloseNetworkServer()
CloseWindow(#Window_0)
End
Else
MessageRequester("Erreur","Impossible d'ouvrire le port car il est peut-être en cour d'utilisation.",#mb_ok|#mb_iconstop)
EndIf
Else
MessageRequester("Erreur","Impossible d'initialiser le réseau.",#mb_ok|#mb_iconstop)
EndIf
End