Page 1 sur 1
améliorations de la lib network
Publié : lun. 25/avr./2005 9:12
par Dr. Dri
Salut fred, j'aimerai bien que la lib network permette de connaître l'IP d'un client et son numéro de port (si c'est possible) à partir de son ID.
Aussi j'aimerai bien qu'elle ai quelques constantes, histoire d'avoir comme d'habitude un code plus clair...
Code : Tout sélectionner
Enumeration
#PB_Network_NoEvent
#PB_Network_Connect
#PB_Network_DataReceived
#PB_Network_FileReceived
#PB_Network_Disconnect
EndEnumeration
Les noms bien sûr ne sont qu'une suggestion, ce sont ce que j'utilise en attendant...
Dri
Publié : lun. 25/avr./2005 9:44
par gansta93
Bonjour,
Pour l'IP du client par son ID, je crois que c pour très bientôt (si j'ai bien compris l'anglais

). Avec la même fonction que Fred disait qu'il allait utiliser pour avoir l'IP, on peut aussi retourner une autre valeure qui serait le port... Fred, vas-tu aussi faire une fonction pour retourner le port utilisé par le client ?
Pour les constentes, c'est vrai qu'il y en a dans toutes les libs... ça serait effectivement pas mal.
Publié : lun. 25/avr./2005 10:05
par Dr. Dri
Ca fait longtemps que je les utilise, mais j'ai jamais pensé à le demander...
Dri

Publié : lun. 25/avr./2005 10:45
par Heis Spiter
Pour l'IP, c'est prévu (cf : forum Anglais)
Publié : lun. 25/avr./2005 10:50
par Dr. Dri
Heis Spiter a écrit :Pour l'IP, c'est prévu (cf : forum Anglais)
ca confirme ce que dis Gangsta93. Faudrait que je retourne sur le forum officiel de temps en temps... Ici on a peu de visites de fred ces temps ci
Dri ^^
Publié : lun. 25/avr./2005 16:19
par Oliv
Pour le port je ne saissi pas bien : on le connait puisque le server ne s'ouvre que su un port (malheuresement) non ?
Publié : lun. 25/avr./2005 19:41
par Dr. Dri
je pensais au port du client qui est normalement >= 1024 généré aléatoirement par l'OS, il me semble
Dri
Publié : lun. 25/avr./2005 19:44
par gansta93
J'ai dis une baitise alors.

Publié : lun. 25/avr./2005 20:09
par Oliv
Dr. Dri a écrit :je pensais au port du client qui est normalement >= 1024 généré aléatoirement par l'OS, il me semble
Dri

Moi je croyais que c'était le même port que celui auquel on se connecte, je comprends mieux comment on se connecte à plusieurs serveur différents sur un même mort, quel idiot

Adresse IP par le ClientId
Publié : mer. 27/avr./2005 21:24
par Marc
Bonjour,
Moi j'utilise le code suivant en attendant des fonctions intégrées:
Code : Tout sélectionner
Procedure.s NetGetLocalIP (ClientId.l)
LocalIP.s =""
Length.l = SizeOf(IPType)
If getsockname_(ClientId, @IP.IPType, @Length) = 0
LocalIP = StrU(IP\IP[0],#Byte)+"." + StrU(IP\IP[1], #Byte) + "." + StrU(IP\IP[2],#Byte) + "." + StrU(IP\IP[3], #Byte)
EndIf
ProcedureReturn LocalIP
EndProcedure
Procedure.s NetGetRemoteIP(ClientId.l)
RemoteIP.s =""
Length.l = SizeOf(IPType)
If getpeername_(ClientId, @IP.IPType, @Length) = 0
RemoteIP = StrU(IP\IP[0],#Byte) + "." + StrU(IP\IP[1], #Byte) + "." + StrU(IP\IP[2],#Byte)+"."+StrU(IP\IP[3], #Byte)
EndIf
ProcedureReturn RemoteIP
EndProcedure
Publié : mer. 01/juin/2005 3:26
par poshu
J'ai une question concernant le comportement de cette lib, que je trouve assez étrange:
Elle présente les packet dans l'ordre croissant des client ID, plutot que dans l'ordre d'arrivé.
Je m'explique:
Si les clients 18, 91, 2 & 15 envoient chacun un packet dans cet ordre, au moment de les receptionner, mon socket va me les livrer dans l'ordre: 2, 15, 18, 91. Trop pas cool è_é
C'est normal? j'ai chié quand j'ai fait des tests?
Si ca marche vraiment comme ca, y'aurait moyen d'avoir une correction plus "logique"?
Merci d'avance
Publié : mer. 01/juin/2005 9:05
par Dr. Dri
ca je l'ai jamais constaté
(et pour cause je l'ai jamais testé)
en tout cas c'est clair que niveau logique c'est pas ca...
Dri