Page 1 sur 2
					
				Protocole UDP
				Publié : dim. 18/déc./2005 19:14
				par Anonyme
				Je me suis fait une petite dll avec devc++ concernant Winsock et le protocole UDP. 
J'ai donc programmer un client & un serveur pour voir l'éfficacité de ma dll. 
Pour le moment cela marche bien (en local), mais il reste des améioration à faire notament pour la vitesse d'execution lors de l'envois et la reception. je fourni la dll avec 2 exemples.
EDIT : 
File:1->
WinsockUDP.rar

 
			 
			
					
				
				Publié : dim. 18/déc./2005 20:18
				par Gillou
				Je viens de télécharger ta dll
J'arrive un peu à la bourre pour t'envoyer message mais en local ça tourne nickel 

 
			 
			
					
				
				Publié : dim. 18/déc./2005 23:30
				par gansta93
				ça serait bien de la faire pour être en UserLibrary... 

 
			 
			
					
				
				Publié : lun. 19/déc./2005 9:09
				par Flype
				
			 
			
					
				
				Publié : lun. 19/déc./2005 11:16
				par Anonyme
				C'est la version de Sebastian Lackner ? elle ne fonctionne pas sous la 3.94  

 
			 
			
					
				
				Publié : lun. 19/déc./2005 12:09
				par gansta93
				Cpl.Bator a écrit :C'est la version de Sebastian Lackner ? elle ne fonctionne pas sous la 3.94  

 
Oui j pensait à cette lib, mais je ne l'ai pas sitée pour cette raison.
 
			 
			
					
				
				Publié : lun. 19/déc./2005 15:43
				par Anonyme
				elle ne fonctionne plus , c'est dommage, cela m'aurrait évité de la faire.
Ma version actuelle ne permet pas de choisir le socket pour le "bindage"
(Lie un socket à un port, pour l'écoute) ni meme de choisir l'id du socket à fermer. 
Celle que j'ai sous la main le permet. je fait une p'tite source sous PB afin de gerer la dll avec des threads et des pointeurs à gogo, la source servira surement pour ma premiere lib ^^. en tout cas l'udp servira pour les jeux en réseaux, notament pour mon bomberman. d'autre pourront l'utiliser pour envoyer un flux audio, ou une image webcam, un chat etc...
il y a des pertes, les paquets n'arrive pas dans l'ordres ( a 2 ou 3 paquets près) mais ce n'est pas grave, cela se gère & la rapiditer n'a rien a voir avec le tcp/ip.
			 
			
					
				
				Publié : lun. 19/déc./2005 23:13
				par Anonyme
				Je viens de faire une p'tite màj sous forme de librairie (voir 1°post)
J'ai utiliser Dll2PBlib & Tailbite, il faut obligatoirement la dll qui est fournie avec dans le répertoire de votre code utilisant la librairie.
Les paramètres de la lib ne sont pas très clair, donc voici un petit explicatif
des commandes :
- InitWinsock() Renvois 1 si ok , sinon renvois le code d'erreur microsoft 
OpenSocket() Ouvre un socket, Renvois l'ID du Socket. (long)
BindSocket( Port.l , SocketID.l ) Pour lier un Socket à un port. Renvois 1 si ok, sinon renvois le code d'erreur microsoft
SendData(Message$,IP$,Port.l,SocketID.l) Envois des donnés (String) à IP$ par le port "Port.l" via le Socket "SocketID" ,Renvois 1 si ok , sinon renvois le code d'erreur microsoft
ReceiveData(SocketID.l) Retourne l'adresse mémoire du message, a récuperer avec Peeks(), SocketID correspond à l'ID d'un socket préalablement lié avec BindSocket()
CloseSocket(SocketID.l) Ferme le Socket, renvois 1 si ok, sinon renvois le code d'erreur Microsoft. 
ExitWinsock() Ferme Winsock correctement qui à été préalablement ouvert avec InitWinsock() 
Vous pourrez trouver les codes d'erreurs Winsock sur msdn.
dans l'archive fournie, il y a deux exemples simples (exe+sources)
Voilà j'attends vos remarques & suggestions.
Si cela intéresse du monde je ferais une lib "plus propre" avec une belle aide en chm, de jolie exemples, etc...
@++
 
			 
			
					
				
				Publié : lun. 19/déc./2005 23:20
				par gansta93
				Cpl.Bator a écrit :Je viens de faire une p'tite màj sous forme de librairie (voir 1°post)
J'ai utiliser Dll2PBlib & Tailbite, il faut obligatoirement la dll qui est fournie avec dans le répertoire de votre code utilisant la librairie.
Tu t'es compliqué la vie, pk pas faire ta lib dirrectement en C pour Pure ? simple question...
Si je comprand bien, le client peut aussi maintenant recevoir ? parce qu'avant, ct pas possible.
Merci pour cette lib, effectivement, ça m'intéresse ! 

 
			 
			
					
				
				Publié : lun. 19/déc./2005 23:26
				par Anonyme
				Le client à toujours pu recevoir, sauf qu'il te faudra 2 sockets sur 2 ports différents afin d'éviter une erreur lors du "bindage".
Tiens moi au courrant de tes tests, merci  
 
ps : la lib et faite en c++ , convertie avec dll2pblib & tailbite
 
			 
			
					
				
				Publié : lun. 19/déc./2005 23:30
				par gansta93
				Cpl.Bator a écrit :Le client à toujours pu recevoir, sauf qu'il te faudra 2 sockets sur 2 ports différents afin d'éviter une erreur lors du "bindage".
Tiens moi au courrant de tes tests, merci  

 
Le client a toujours pu recevoir ? je ne te comprand pas...
Mais sinon pas de problème, je teste tout ça demain. 
Cpl.Bator a écrit :ps : la lib et faite en c++ , convertie avec dll2pblib & tailbite
Regarde les fichiers LibrarySDK\*.txt, tu comprendras ce que je voulais dire.
Encore merci pr cette lib. 

 
			 
			
					
				
				Publié : lun. 19/déc./2005 23:41
				par Anonyme
				Ooopps , j'ai dit une bétisse, le client ne pouvait pas recevoir sans plantage avant .  

  (le pire c'est que je persiste dans mes conneries)
@+
 
			 
			
					
				
				Publié : lun. 19/déc./2005 23:45
				par gansta93
				Cpl.Bator a écrit :Ooopps , j'ai dit une bétisse, le client ne pouvait pas recevoir sans plantage avant .  

  (le pire c'est que je persiste dans mes conneries)
@+
 
Lol.
ça te dérange si je t'envoi un rar avec une autre arboressance ? parce que là... d'habitude suffit de faire un copier/coller et c réglé lol.
 
			 
			
					
				
				Publié : mar. 20/déc./2005 0:05
				par Anonyme
				je t'ai envoyer un MP avec mon E-mail.
@+
			 
			
					
				
				Publié : mar. 20/déc./2005 14:15
				par gansta93
				OK, je vien de t'envoyer tout ça. Dsl pr le retard lol, mais je me suis levé plus tard que prévu. 
