Page 1 sur 1

[v4 beta 11] Bug avec fonction réseau [Résolu]

Publié : sam. 22/avr./2006 21:47
par LeCyb
J'utilise la fonction "getsockname_" de l'api windows et je me retrouve face à un changement de valeur de retour entre la version 3.94 et la version 4.

Code : Tout sélectionner

Structure ws_sockaddr
  Family.w
  Port.w
  IPLong.l
  zeros.l[8]
EndStructure

Procedure.l IsConnected(Connection.l)
  Protected length.l, IP.ws_sockaddr, res.l
  length = SizeOf(IP)
  res = getsockname_(Connection,@IP,@length)
  Debug res ;<---------------- ICI
  If res = 0
    ProcedureReturn #True
  Else
    ProcedureReturn #False
  EndIf
EndProcedure


InitNetwork()
res = OpenNetworkConnection("www.google.com",80)
IsConnected(res)
CloseNetworkConnection(res)
Normalement la valeur de retour devrait être zéro (pour autant que la connection est ok), mais ici je me retrouve avec -1 qui correspond à la constante #SOCKET_ERROR.

Le plus étrange c'est que le même code donne bien zéro avec la 3.94.

Publié : lun. 24/avr./2006 16:39
par Fred
C'est parce que le retour de OpenConnection n'est plus un socket. Utilise ConnectionID() maintenant.