2008-09-19 5 views
0

La tentative d'envoi d'un message via une socket a échoué avec l'erreur WinSock 10038. Après environ 40 secondes, les messages sont reçus avec succès à partir du même socket et ensuite send() réussit également la même prise. Ce comportement a été observé dans Windows Server 2003. S'agit-il d'un comportement connu avec WinSock et Windows Server 2003?Erreur Winsock - 10038 - Comportement de déroutement Win2K3 Server

+0

Avez-vous essayé sur une autre plate-forme (XP par exemple)? – paxdiablo

+0

Y at-il un appel de création asynchrone qui n'est pas terminé avant d'essayer d'accéder au socket? –

Répondre

3

L'erreur Winsock 10038 signifie "Une opération a été tentée sur quelque chose qui n'est pas une socket".

Petite astuce pour trouver des informations sur les codes d'erreur (usefull pour toutes sortes de fenêtres codes d'erreur):

  • Ouvrir une invite de commande
  • Tapez "net helpmsg 10038"

Quelle langue votre application est-elle écrite? Si c'est en C/C++, est-ce que vous utilisez un handle de socket invalide?

0

Pas un problème de plate-forme, je peux le garantir. Il est probable que la variable que vous utilisez pour accéder à la poignée de socket n'est pas adaptée aux threads et qu'elle est utilisée dans l'appel send() avant la création du socket.

Une autre cause possible est la présence de fournisseurs Winsock en couches. "netsh winsock show" à l'invite cmd vous montrera les fournisseurs installés et vous pouvez essayer de supprimer ceux qui ne sont pas microsoft.

0

Merci beaucoup à a_mole pour l'idée de vérifier la présence de fournisseurs de couches superposées. Nous avons des problèmes avec certains de nos PC et TimesTen DB. Lorsque nous essayons de configurer et DSN client ODBC, nous obtenons une erreur 10038. En examinant la sortie netsh des PC affectés, nous avons constaté qu'ils ont installé Embassy Trust Suite par Wave Systems. Evidemment, Dell l'a préinstallé sur certains de ses PC. Quoi qu'il en soit, lors de la désinstallation de ce logiciel, le problème a été résolu.

Merci encore

Lou

Questions connexes