Probleme avec le reseau

Programmation d'applications complexes
garzul
Messages : 683
Inscription : mer. 26/mai/2004 0:33

Probleme avec le reseau

Message par garzul »

:D slt jai fait un truc sympa pour faire un serveur mais le seul probleme c que le truc se lance mais je vois rien enfin sa repete et sa charge sa fait quon voit presque rien je sais je suis un peu brouillon mais regarde svp et aidez moi
;BY GARZUL
;- Window Constants
;
Enumeration
#Window_0
EndEnumeration

;- Gadget Constants
;
Enumeration
#Image_2
#String_0
#Button_0
#Button_1
#Text_1
EndEnumeration

;- Image Plugins
UseJPEGImageDecoder()

;- Image Globals
Global Image0

;- Catch Images
Image0 = CatchImage(0, ?Image0)

;- Images
DataSection
Image0:
IncludeBinary "C:\Documents and Settings\verneuil julien\Mes documents\Mes images\serveur.JPG"
EndDataSection

Procedure Open_Window_0()
If OpenWindow(#Window_0, 340, 140, 604, 300, #PB_Window_SystemMenu | #PB_Window_SizeGadget | #PB_Window_TitleBar | #PB_Window_ScreenCentered , "Serveur du chaos")
If CreateGadgetList(WindowID())
ImageGadget(#Image_2, 0, 0, 150, 310, Image0)
StringGadget(#String_0, 150, 0, 450, 190, "Le serveur et actuellement hors service demarrer le si vous voulez qu'il s'allume!", #PB_String_ReadOnly)
GadgetToolTip(#String_0, "Description du serveur")
AdvancedGadgetEvents(1)
ButtonGadget(#Button_0, 150, 260, 130, 30, "Demarrer", #PB_Button_Default| #PB_EventType_RightClick)
ButtonGadget(#Button_1, 470, 260, 130, 30, "Arreter", #PB_Button_Default)
TextGadget(#Text_1, 230, 240, 280, 20, "Note toujour veiller au fonctionnemen du serveur.", #PB_Text_Center)

EndIf
EndIf
EndProcedure

Procedure initnet()
If InitNetwork() = 0
MessageRequester("Error", "Can't initialize the network !", 0)
End
EndIf
Port = 6832
Buffer = AllocateMemory(1000)


If CreateNetworkServer(Port)
SetGadgetText(#String_0, "Le serveur et demarrer sur le port " +Str(Port))


Repeat

SEvent.l = NetworkServerEvent()

If SEvent

ClientID = NetworkClientID()

Select SEvent

Case 1
SetGadgetText(#String_0, "Un nouveau client c'est conecter !")

EndSelect
EndIf
Until Quit = 1

MessageRequester("PureBasic - Server", "Clicqu pour quitter le serveur.", 0)

CloseNetworkServer()
Else
MessageRequester("Error", "Can't create the server (port in use ?).", 0)
EndIf

EndProcedure


Open_Window_0()
initnet()

Repeat
event=WaitWindowEvent()
EventType()




If event= #PB_EventCloseWindow
Quit = 1
EndIf

Until Quit = 1
[/code]
garzul
Messages : 683
Inscription : mer. 26/mai/2004 0:33

Message par garzul »

Es que vous pouvez m'aider alors je suis sur que c'est une petit e erreur mais j'arrive pas a la trouver
.
julien
Messages : 846
Inscription : ven. 30/janv./2004 15:06
Contact :

Message par julien »

Désolé mais ton code est trop brouillon, c donc pas facil de trouver les erreurs au 1er coup d'oeil, mais a tu penser à mettre des delay (20 ms) dans tes boucles ?
garzul
Messages : 683
Inscription : mer. 26/mai/2004 0:33

Message par garzul »

:D Non c'est bon j'ai trouver le pb merci quand meme .
garzul
Messages : 683
Inscription : mer. 26/mai/2004 0:33

Message par garzul »

J'ai un autre probleme c'est que quand j'appuis sur le bouton demarrer de mon serveur sa dit serveur cree sur le port donc normalement il et cree et si je lance le client il me dit que le serveur et pas demarrer pourtant jai mis sur le client le meme port et la meme adresse ip que moi et il et pas occuper le port ouin help me ??? mon code du serveur

Code : Tout sélectionner

Image0:
  IncludeBinary "serveur.JPG"
EndDataSection


;au cas ou Procedure Open_Window_0()
  If OpenWindow(#Window_0, 340, 140, 604, 300,  #PB_Window_SystemMenu | #PB_Window_SizeGadget | #PB_Window_TitleBar | #PB_Window_ScreenCentered , "Serveur du chaos")
    If CreateGadgetList(WindowID())
      ImageGadget(#Image_2, 0, 0, 150, 310, Image0)
      StringGadget(#String_0, 150, 0, 450, 190, "Le serveur et actuellement hors service demarrer le si vous voulez le lancer!", #PB_String_ReadOnly)
      GadgetToolTip(#String_0, "Description du serveur")
      AdvancedGadgetEvents(1) 
      ButtonGadget(#Button_0, 150, 260, 130, 30, "Demarrer", #PB_Button_Default| #PB_EventType_RightClick)
      ButtonGadget(#Button_1, 470, 260, 130, 30, "Arreter", #PB_Button_Default)
      TextGadget(#Text_1, 230, 240, 280, 20, "Note toujour veiller au fonctionnemen du serveur.", #PB_Text_Center)
      
    EndIf
  EndIf
  
;on initialise la conection
  If InitNetwork() = 0
  MessageRequester("Error", "Can't initialize the network !", 0)
  End
EndIf
;numero du port 

           Port = 6832
Buffer = AllocateMemory(1000)



;**************la boucle*****************
 Repeat                                            
event=WaitWindowEvent()  
      
      ;le bouton demarrer           
   Select EventGadgetID() 
        Case #Button_0
                   Port = 6832
Buffer = AllocateMemory(1000)
        ;on cree le serveur
        If CreateNetworkServer(Port) 
SetGadgetText(#String_0, "Le serveur et demarrer sur le port " +Str(Port))
 ;initialisatiin si un client et conecter
    SEvent.l = NetworkServerEvent()
  
    If SEvent
    
      ClientID = NetworkClientID()
  
      Select SEvent
      
        Case 1
        SetGadgetText(#String_0, "Un nouveau client c'est conecter !") 
          
      EndSelect
    EndIf
  CloseNetworkServer()
Else
  MessageRequester("Error", "Can't create the server (port in use ?).", 0)
EndIf

          EndSelect 
          
          
          ;on cree le bouton arreter
         
 Select EventGadgetID() 
          Case #Button_1
            CloseNetworkServer()
SetGadgetText(#String_0, "Vous avez éteint le serveur du port " +Str(Port))
EndSelect
    If event= #PB_EventCloseWindow                 
      Quit = 1                                       
    EndIf                                            
    Until Quit = 1 

mon client

Code : Tout sélectionner

  #Button_0
  #String_1
  #String_2
  #Hyperlink_0
  #Text_0
  #Text_1
EndEnumeration
#string_0 = 0

Procedure Open_Window_0()
  If OpenWindow(#Window_0, 228, 109, 600, 440,  #PB_Window_SystemMenu |#PB_Window_ScreenCentered | #PB_Window_SizeGadget | #PB_Window_TitleBar , "L'épopée Chaotique")
    If CreateGadgetList(WindowID())
      StringGadget(#String_0, 0, 0, 600, 210, "", #PB_String_ReadOnly)
      GadgetToolTip(#String_0, "Attendez les instructions de connection...")
           
    EndIf
  EndIf
EndProcedure

Procedure client() 
     If InitNetwork() = 0
   SetGadgetText(#String_0, "Impossible d'initialiser la connexion!")
  End
EndIf
Port = 6832

;le serveur test de mon pote c sur cette adresse ip 82.253.82.92 moi 213.36.136.189
ConnectionID = OpenNetworkConnection("213.36.136.189", Port)
If ConnectionID
SetGadgetText(#String_0, "Bienvenu dans l'aventure de L'Epopée Chaotique. 0 aventuriers parcours actuellements ces terres ...") 
   ProgressBarGadget(#ProgressBar_0, 10, 220, 580, 10, 0, 10)
      ButtonGadget(#Button_0, 230, 360, 110, 30, "Lancer le jeux", #PB_Button_Default)
      StringGadget(#String_1, 190, 310, 200, 30, "", #PB_String_Password)
      StringGadget(#String_2, 190, 250, 200, 30, "")
      HyperLinkGadget(#Hyperlink_0, 10, 420, 170, 10, "http://www.epopee-chaotique.com", RGB(0, 0, 0))
      GadgetToolTip(#Hyperlink_0, "Visitez notre site!")
      TextGadget(#Text_0, 200, 290, 180, 20, "Tapez votre mot de passe ici.", #PB_Text_Center)
      TextGadget(#Text_1, 190, 230, 200, 20, "Tapez votre login ici.", #PB_Text_Center)

  CloseNetworkConnection(ConnectionID)
Else 
SetGadgetText(#String_0, "Impossible de se connecter au serveur veuillez réesayer plus tard ...!") 
EndIf
endprocedure
Open_Window_0() 
client() 

  Repeat                                            
event=WaitWindowEvent()                   
     


    If event= #PB_EventCloseWindow                 
      Quit = 1                                       
    EndIf                                            

  Until Quit = 1                                    
   
a++
garzul
Messages : 683
Inscription : mer. 26/mai/2004 0:33

Message par garzul »

Re bonjour le probleme ci-dessus et résolu mais yen a un autre dans mon serveur je voudrai que quand un client et conécter il me le fasse apparaitre dans mon stringgadget qui et protéger en ecriture mais si j'utilise un setgadgettext pour voir si un client et conecter sa ne marche pas il me marque rien dans mon stringgadget regardez le code du serveur

Code : Tout sélectionner

;BY GARZUL
;- Window Constants
;
Enumeration
  #Window_0
EndEnumeration

;- Gadget Constants
;
Enumeration
  #Image_2
  #String_0
  #Button_0
  #Button_1
  #Text_1
EndEnumeration

;- Image Plugins
UseJPEGImageDecoder()

;- Image Globals
Global Image0

;- Catch Images
Image0 = CatchImage(0, ?Image0)

;- Images
DataSection
Image0:
  IncludeBinary "serveur.JPG"
EndDataSection

;date
Date$ = FormatDate("%dd/%mm/%yyyy", Date())
Time$ = FormatDate("%hh:%ii", Date())

;au cas ou Procedure Open_Window_0()
  If OpenWindow(#Window_0, 340, 140, 604, 300,  #PB_Window_SystemMenu | #PB_Window_SizeGadget | #PB_Window_TitleBar | #PB_Window_ScreenCentered , "Serveur du chaos")
    If CreateGadgetList(WindowID())
      ImageGadget(#Image_2, 0, 0, 150, 310, Image0)
      StringGadget(#String_0, 150, 0, 450, 190, "Le serveur et actuellement hors service demarrer le si vous voulez le lancer!"+Chr(13)+Chr(10)+"On et le "+Date$+Chr(10)+" il et "+Time$, #PB_String_ReadOnly|#PB_String_Multiline)
      GadgetToolTip(#String_0, "Description du serveur")
      AdvancedGadgetEvents(1) 
      ButtonGadget(#Button_0, 150, 260, 130, 30, "Demarrer", #PB_Button_Default| #PB_EventType_RightClick)
      ButtonGadget(#Button_1, 470, 260, 130, 30, "Arreter", #PB_Button_Default)
      TextGadget(#Text_1, 230, 240, 280, 20, "Note : Toujours veillez au bon fonctionnement du serveur", #PB_Text_Center)
      
    EndIf
  EndIf
  

;on initialise la conection
  If InitNetwork() = 0
  MessageRequester("Error", "Can't initialize the network !", 0)
  End
EndIf

;**************la boucle*****************
 Repeat                                            
event=WaitWindowEvent()  

      ;le bouton demarrer                 
   Select EventGadgetID() 
        Case #Button_0
                   Port = 6833
Buffer = AllocateMemory(1000)

        ;on cree le serveur                                          
         If    CreateNetworkServer(Port) 
SetGadgetText(#String_0, "Le serveur est démarré sur le port " +Str(Port))

 ;initialisatiin si un client et conecter
    SEvent.l = NetworkServerEvent()
    If SEvent
     ClientID = NetworkClientID()
      Select SEvent

        Case 1
         
        SetGadgetText(#String_0, "Un nouveau client c'est connecter !") 

      EndSelect
EndIf
EndIf
      EndSelect 

                ;on cree le bouton arreter
                  Select EventGadgetID() 
          Case #Button_1
  SetGadgetText(#String_0, "Vous avez éteint le serveur du port " +Str(Port))
EndSelect

    If event= #PB_EventCloseWindow                 
      End                                    
    EndIf                                            
    Until Quit = 1 


pour le client utiliser celui qui et fourni dans l'exemple et changer le numero de port sinon j'en ai un autre c'est que je voudrai arreter le serveur en appuyant sur arreter mais mon code ne marche pas car sa ne m'affiche rien comme quoi j'ai arreter le serveur et en plus si je met CloseNetworkServer()
sa me met que aucun serveur n'est allumer voila mon probleme mon code et coder a l'arrache mais bon j'y et fais quelque modif allez a++ :)
garzul
Messages : 683
Inscription : mer. 26/mai/2004 0:33

Message par garzul »

Re bonjour le probleme ci-dessus et résolu mais yen a un autre dans mon serveur je voudrai que quand un client et conécter il me le fasse apparaitre dans mon stringgadget qui et protéger en ecriture mais si j'utilise un setgadgettext pour voir si un client et conecter sa ne marche pas il me marque rien dans mon stringgadget regardez le code du serveur

Code : Tout sélectionner

;BY GARZUL
;- Window Constants
;
Enumeration
  #Window_0
EndEnumeration

;- Gadget Constants
;
Enumeration
  #Image_2
  #String_0
  #Button_0
  #Button_1
  #Text_1
EndEnumeration

;- Image Plugins
UseJPEGImageDecoder()

;- Image Globals
Global Image0

;- Catch Images
Image0 = CatchImage(0, ?Image0)

;- Images
DataSection
Image0:
  IncludeBinary "serveur.JPG"
EndDataSection

;date
Date$ = FormatDate("%dd/%mm/%yyyy", Date())
Time$ = FormatDate("%hh:%ii", Date())

;au cas ou Procedure Open_Window_0()
  If OpenWindow(#Window_0, 340, 140, 604, 300,  #PB_Window_SystemMenu | #PB_Window_SizeGadget | #PB_Window_TitleBar | #PB_Window_ScreenCentered , "Serveur du chaos")
    If CreateGadgetList(WindowID())
      ImageGadget(#Image_2, 0, 0, 150, 310, Image0)
      StringGadget(#String_0, 150, 0, 450, 190, "Le serveur et actuellement hors service demarrer le si vous voulez le lancer!"+Chr(13)+Chr(10)+"On et le "+Date$+Chr(10)+" il et "+Time$, #PB_String_ReadOnly|#PB_String_Multiline)
      GadgetToolTip(#String_0, "Description du serveur")
      AdvancedGadgetEvents(1) 
      ButtonGadget(#Button_0, 150, 260, 130, 30, "Demarrer", #PB_Button_Default| #PB_EventType_RightClick)
      ButtonGadget(#Button_1, 470, 260, 130, 30, "Arreter", #PB_Button_Default)
      TextGadget(#Text_1, 230, 240, 280, 20, "Note : Toujours veillez au bon fonctionnement du serveur", #PB_Text_Center)
      
    EndIf
  EndIf
  

;on initialise la conection
  If InitNetwork() = 0
  MessageRequester("Error", "Can't initialize the network !", 0)
  End
EndIf

;**************la boucle*****************
 Repeat                                            
event=WaitWindowEvent()  

      ;le bouton demarrer                 
   Select EventGadgetID() 
        Case #Button_0
                   Port = 6833
Buffer = AllocateMemory(1000)

        ;on cree le serveur                                          
         If    CreateNetworkServer(Port) 
SetGadgetText(#String_0, "Le serveur est démarré sur le port " +Str(Port))

 ;initialisatiin si un client et conecter
    SEvent.l = NetworkServerEvent()
    If SEvent
     ClientID = NetworkClientID()
      Select SEvent

        Case 1
         
        SetGadgetText(#String_0, "Un nouveau client c'est connecter !") 

      EndSelect
EndIf
EndIf
      EndSelect 

                ;on cree le bouton arreter
                  Select EventGadgetID() 
          Case #Button_1
  SetGadgetText(#String_0, "Vous avez éteint le serveur du port " +Str(Port))
EndSelect

    If event= #PB_EventCloseWindow                 
      End                                    
    EndIf                                            
    Until Quit = 1 


pour le client utiliser celui qui et fourni dans l'exemple et changer le numero de port sinon j'en ai un autre c'est que je voudrai arreter le serveur en appuyant sur arreter mais mon code ne marche pas car sa ne m'affiche rien comme quoi j'ai arreter le serveur et en plus si je met CloseNetworkServer()
sa me met que aucun serveur n'est allumer voila mon probleme mon code et coder a l'arrache mais bon j'y et fais quelque modif allez a++ :)
garzul
Messages : 683
Inscription : mer. 26/mai/2004 0:33

Message par garzul »

Re bonjour le probleme ci-dessus et résolu mais yen a un autre dans mon serveur je voudrai que quand un client et conécter il me le fasse apparaitre dans mon stringgadget qui et protéger en ecriture mais si j'utilise un setgadgettext pour voir si un client et conecter sa ne marche pas il me marque rien dans mon stringgadget regardez le code du serveur

Code : Tout sélectionner

;BY GARZUL
;- Window Constants
;
Enumeration
  #Window_0
EndEnumeration

;- Gadget Constants
;
Enumeration
  #Image_2
  #String_0
  #Button_0
  #Button_1
  #Text_1
EndEnumeration

;- Image Plugins
UseJPEGImageDecoder()

;- Image Globals
Global Image0

;- Catch Images
Image0 = CatchImage(0, ?Image0)

;- Images
DataSection
Image0:
  IncludeBinary "serveur.JPG"
EndDataSection

;date
Date$ = FormatDate("%dd/%mm/%yyyy", Date())
Time$ = FormatDate("%hh:%ii", Date())

;au cas ou Procedure Open_Window_0()
  If OpenWindow(#Window_0, 340, 140, 604, 300,  #PB_Window_SystemMenu | #PB_Window_SizeGadget | #PB_Window_TitleBar | #PB_Window_ScreenCentered , "Serveur du chaos")
    If CreateGadgetList(WindowID())
      ImageGadget(#Image_2, 0, 0, 150, 310, Image0)
      StringGadget(#String_0, 150, 0, 450, 190, "Le serveur et actuellement hors service demarrer le si vous voulez le lancer!"+Chr(13)+Chr(10)+"On et le "+Date$+Chr(10)+" il et "+Time$, #PB_String_ReadOnly|#PB_String_Multiline)
      GadgetToolTip(#String_0, "Description du serveur")
      AdvancedGadgetEvents(1) 
      ButtonGadget(#Button_0, 150, 260, 130, 30, "Demarrer", #PB_Button_Default| #PB_EventType_RightClick)
      ButtonGadget(#Button_1, 470, 260, 130, 30, "Arreter", #PB_Button_Default)
      TextGadget(#Text_1, 230, 240, 280, 20, "Note : Toujours veillez au bon fonctionnement du serveur", #PB_Text_Center)
      
    EndIf
  EndIf
  

;on initialise la conection
  If InitNetwork() = 0
  MessageRequester("Error", "Can't initialize the network !", 0)
  End
EndIf

;**************la boucle*****************
 Repeat                                            
event=WaitWindowEvent()  

      ;le bouton demarrer                 
   Select EventGadgetID() 
        Case #Button_0
                   Port = 6833
Buffer = AllocateMemory(1000)

        ;on cree le serveur                                          
         If    CreateNetworkServer(Port) 
SetGadgetText(#String_0, "Le serveur est démarré sur le port " +Str(Port))

 ;initialisatiin si un client et conecter
    SEvent.l = NetworkServerEvent()
    If SEvent
     ClientID = NetworkClientID()
      Select SEvent

        Case 1
         
        SetGadgetText(#String_0, "Un nouveau client c'est connecter !") 

      EndSelect
EndIf
EndIf
      EndSelect 

                ;on cree le bouton arreter
                  Select EventGadgetID() 
          Case #Button_1
  SetGadgetText(#String_0, "Vous avez éteint le serveur du port " +Str(Port))
EndSelect

    If event= #PB_EventCloseWindow                 
      End                                    
    EndIf                                            
    Until Quit = 1 


pour le client utiliser celui qui et fourni dans l'exemple et changer le numero de port sinon j'en ai un autre c'est que je voudrai arreter le serveur en appuyant sur arreter mais mon code ne marche pas car sa ne m'affiche rien comme quoi j'ai arreter le serveur et en plus si je met CloseNetworkServer()
sa me met que aucun serveur n'est allumer voila mon probleme mon code et coder a l'arrache mais bon j'y et fais quelque modif allez a++ :)
rYn0
Messages : 16
Inscription : ven. 07/mai/2004 23:10

Message par rYn0 »

tu veux faire koi de ton prog ... ?? Car je crois que tu te complique un peu la chose ...

Je crois qu'il y a " beaucoup " plus simple de coder ton prog !!!

...
Répondre