Cet article est un article miroir de traduction automatique, veuillez cliquer ici pour accéder à l’article original.

Vue: 19287|Répondre: 1

[Source] [Combat réel] UDP System.Net.Sockets.SocketException

[Copié le lien]
Publié sur 09/03/2017 10:16:26 | | |
System.Net.Sockets.SocketException (0x80004005) : L’hôte distant a forcé la fermeture d’une connexion existante.   Dans System.Net.Sockets.Socket.ReceiveFrom(Byte[] b



Pendant la communication UDP, utiliser try... L’instruction catch reçoit toujours une erreur lors de l’acceptation des données :
System.Net.Sockets.SocketException (0x80004005) : L’hôte distant a forcé la fermeture d’une connexion existante.
La solution la plus stupide au départ était de ne rien faire dans la phrase catch et de laisser la fonction du port d’écoute continuer à fonctionner. Mais ce n’est pas une solution à long terme, et j’ai cherché longtemps en ligne et j’ai trouvé l’explication de Microsoft.


L’explication de Microsoft : http://support.microsoft.com/kb/263823

Solution:








Précédent:Réussi un trou UDP [Réimpression]
Prochain:Javascrip{filter}t window.print() définit le style d’impression et le contenu
 Propriétaire| Publié sur 09/03/2017 10:17:54 |
Après avoir initialisé l’objet, définissez les propriétés comme suit :
                    uint IOC_IN = 0x80000000 ;
                    uint IOC_VENDOR = 0x18000000 ;
                    uint SIO_UDP_CONNRESET = IOC_IN | IOC_VENDOR | 12;
//uc为接收数据所使用的UdpClient,不同程序自己手改
            UC. Client.IOControl((int)SIO_UDP_CONNRESET, nouvel octet[] {Convert.ToByte(false)}, null) ;

Méthode Socket.IOControl (IOControlCode, octet[], octet[])
Utilisez IOControlCode pour spécifier le code de contrôle afin de définir un mode de fonctionnement bas niveau pour le socket.
paramètre
ioControlCode
Une valeur IOControlCode qui spécifie le code de contrôle de l’action à effectuer.
optionInValue
Un tableau de type Octet contenant les données d’entrée requises par l’opération.
optionOutValue
Un tableau de type Byte qui contient les données de sortie retournées par l’opération.
Démenti:
Tous les logiciels, supports de programmation ou articles publiés par Code Farmer Network sont uniquement destinés à l’apprentissage et à la recherche ; Le contenu ci-dessus ne doit pas être utilisé à des fins commerciales ou illégales, sinon les utilisateurs assumeront toutes les conséquences. Les informations sur ce site proviennent d’Internet, et les litiges de droits d’auteur n’ont rien à voir avec ce site. Vous devez supprimer complètement le contenu ci-dessus de votre ordinateur dans les 24 heures suivant le téléchargement. Si vous aimez le programme, merci de soutenir un logiciel authentique, d’acheter l’immatriculation et d’obtenir de meilleurs services authentiques. En cas d’infraction, veuillez nous contacter par e-mail.

Mail To:help@itsvse.com