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

  FORUM HardWare.fr
  Programmation

  [VB6] Gestion d'un rézo (TCP/IP ou IPX/SPX ...)

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[VB6] Gestion d'un rézo (TCP/IP ou IPX/SPX ...)

n°9261
Kalou
Posté le 11-01-2001 à 19:58:25  profilanswer
 

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...

 

mood
Publicité
Posté le 11-01-2001 à 19:58:25  profilanswer
 

n°9293
Hepil
Posté le 12-01-2001 à 09:05:42  profilanswer
 

je n'ai jamais programmé DirectX
désolé
up qd même

n°9335
Sylderon
Posté le 12-01-2001 à 13:21:37  profilanswer
 

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).

n°9460
Kalou
Posté le 13-01-2001 à 15:12:47  profilanswer
 

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...

 

n°9687
Sylderon
Posté le 15-01-2001 à 17:32:18  profilanswer
 

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.

n°9703
Kalou
Posté le 15-01-2001 à 18:41:24  profilanswer
 

ok merci beaucoup...

 

n°9718
MagicBuzz
Posté le 15-01-2001 à 20:36:08  profilanswer
 

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.

 

n°9839
Kalou
Posté le 16-01-2001 à 18:33:02  profilanswer
 

Encore merci MagicBuzz je pense que ca va m'aider...

 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation

  [VB6] Gestion d'un rézo (TCP/IP ou IPX/SPX ...)

 

Sujets relatifs
Plus de sujets relatifs à : [VB6] Gestion d'un rézo (TCP/IP ou IPX/SPX ...)


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