Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1865 connectés 

 


Dernière réponse
Sujet : [VB6] Gestion d'un rézo (TCP/IP ou IPX/SPX ...)
Kalou Encore merci MagicBuzz je pense que ca va m'aider...

 


Votre réponse
Nom d'utilisateur    Pour poster, vous devez être inscrit sur ce forum .... si ce n'est pas le cas, cliquez ici !
Le ton de votre message                        
                       
Votre réponse


[b][i][u][strike][spoiler][fixed][cpp][url][email][img][*]   
 
   [quote]
 

Options

 
Vous avez perdu votre mot de passe ?


Vue Rapide de la discussion
Kalou Encore merci MagicBuzz je pense que ca va m'aider...

 

MagicBuzz L'OCX Winsock est la librairie internet de Windows pour communiquer sur le réseau...
Donc il est hyper performant, par contre il a un comportement bizarre... En effet quand tu envoie une donnée, il la met dans une file d'attente et du coup parfois tu envoie un gros paquet de données d'un coup, ce qui fait tout sauter ton parseur en face.
 
Par contre, il est hyper simple d'utilisation...
 
Je te file l'aide de MSDN library demain.
 
Pour l'instant, juste un petit bout de code :
 
Serveur :
Tu fait ajouter un contrôle OCX et tu balance Winsock dans ton Form. Dans ces proproiétés, tu le modifies de façon à ce que ce soit un tableau d'objet (permet plusieurs clients connectés en même temps)
 
' Création de la connection
 
Private Continuer As Boolean
Private intMax As Long
 
Private Sub Form_Load()
ss Continuer = False
ss intMax = 0
ss ' Ouverture du port 1001
ss tcpServer(0).LocalPort = 1001
ss ' Ecoute du port
ss tcpServer(0).Listen
End Sub
 
' Un client essaye de se connecter
Private Sub tcpServer_ConnectionRequest(Index As Integer, ByVal requestID As Long)
ss intMax = intMax + 1
ss tcpServer(intMax).LocalPort = 0
ss tcpServer(intMax).Accept requestID
End Sub
 
' Réception de données depuis le client 'Index'
Private Sub tcpServer_DataArrival(Index As Integer, ByVal bytesTotal As Long)
ssssDim strData As String
sssstcpServer(Index).GetData strData
ssssfor i = 0 to ubound(tcpServer)
ssssssssif i <> index then
ssssssssssss' On envoie la donnée à tout les clients sauf l'émetteur
ssssssssssssres = sendData(i, strData)
ssssssssend if
ssssnext
End Sub
 
Private Sub tcpServer_SendComplete(Index As Integer)
ssssContinuer = True
End Sub
 
Function SendData(Index, strData)
ssssSendData = 1
ssssOn Error Resume Next
ssssContinuer = False
sssstcpServer(Index).SendData strData
ssssDo While Not (Continuer Or Err <> 0)
ssssssssDoEvents
ssssLoop
ssssErr.Clear
ssssOn Error GoTo 0
End Function
 
 
Client
Mettre l'OCX Winsock dans le form, mais le laisser tel quel.
 
Dim Sent
 
Private Sub Form_Load()
sssstcpClient.RemoteHost = "NOM_DU_SERVEUR"
sssstcpClient.RemotePort = 1001
sssstcpClient.Connect
end sub
 
Private Sub tcpClient_DataArrival(ByVal bytesTotal As Long)
ssssDim strData As String
sssstcpClient.GetData strData
ssss' Tes données sont dans "strData" tu en fais ce que tu veux
end sub
 
Private Sub tcpClient_SendComplete()
ssssSent = True
End Sub
 
Function SendData(strData)
ssssSendData = 1
ssssOn Error Resume Next
ssssSent = False
sssstcpClient.SendData strData
ssssDo While Not Sent Or Err <> 0
ssssssssDoEvents
ssssLoop
ssssIf Err <> 0 Then
ssssssssDisplayLine "La connection avec le serveur a été perdue"
ssssssssSendData = 0
ssssEnd If
ssssErr.Clear
ssssOn Error GoTo 0
End Function
 
Cet exemple doit plus ou moins fonctionner.
strData est non typé. Tu peux mettre ce que tu veux dedans. Je te conseille de mettre des chaînes de caractère, avec des séparateurs d'instruction :
 
par exemple : "/mot_clé valeur|/mot_clé valeur/mot_clé valeur/mot_clé valeur..."
Ensuite, tu n'as qu'à faire un parseur dans GetData afin de récupérer les valeurs.

 

Kalou ok merci beaucoup...

 

Sylderon C'est un ocx du Service Pack 4 de VB6, mais on doit pouvoir le trouver ailleurs.
Tu l'ajoutes à tes composants, puis tu le poses dans le formulaire principal de ton application.
Pour plus d'infos je vais t'envoyer un exemple de projet vb que j'ai trouvé sur le net.
Kalou Ca peut m'intéresser... Je ne sais pas comment faire et je pensais que la meilleure solution était d'utiliser DiretX mais c'est probablement pas la plus facile...
Mon but c'est pas de faire un super jeu c'est juste d'en faire quelque chose d'intéressant... et c'est pour ca que je veux l'adapter au rézo...ss
Sylderon tu peux me dire comment on utilise l'OCX Winsock... je connais poa, d'après ce que j'ai cru comprendre, c'est vachement plus facile à faire et pour moi ce sera suffisant...

 

Sylderon Je ne sais pas quelle envergure tu veux donner à ton jeu, mais le controle OCX Winsock permet de faire communiquer deux ordis sous VB (sans directX).
Hepil je n'ai jamais programmé DirectX
désolé
up qd même
Kalou J'ai fait un jeu en VB perso.club-internet.fr/raoust/bantumi.exe c'est une adaptation du jeu "Bantumi" sur Nokia 3310 (ca ressemble à l'awalé pour ceux qui connaissent...) et je voudrais le modifier pour qu'il soit jouable en rézo...
Je pense qu'il faut utiliser DirectX pour le gérer...ss
Si vous pouviez m'aider ce serait vraiment cool parceque je ne sais pas du tout comment faire...

 


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR