Dit artikel is een spiegelartikel van machinevertaling, klik hier om naar het oorspronkelijke artikel te gaan.

Bekijken: 19287|Antwoord: 1

[Bron] [Echt gevecht] UDP System.Net.Sockets.SocketException

[Link kopiëren]
Geplaatst op 09-03-2017 10:16:26 | | |
System.Net.Sockets.SocketException (0x80004005): De externe host dwong een bestaande verbinding te sluiten.   In System.Net.Sockets.Socket.ReceiveFrom(Byte[] b



Tijdens UDP-communicatie, met try... De catch-instructie krijgt altijd een foutmelding bij het accepteren van data:
System.Net.Sockets.SocketException (0x80004005): De externe host dwong een bestaande verbinding te sluiten.
De domste oplossing was om niets te doen in de catch-instructie en de luisterpoortfunctie te laten doorlopen. Maar dit is geen langetermijnoplossing, en ik heb lang online gezocht en de verklaring van Microsoft gevonden.


Microsofts uitleg: http://support.microsoft.com/kb/263823

Oplossing:








Vorig:Succesvol uitgevoerd een UDP-gat [Herdruk]
Volgend:Javascrip{filter}t window.print() stelt de printstijl en inhoud in
 Huisbaas| Geplaatst op 09-03-2017 10:17:54 |
Na het initialiseren van het object stel je de eigenschappen als volgt in:
                    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, new byte[] {Convert.ToByte(false)}, null);

Socket.IOControl-methode (IOControlCode, byte[], byte[])
Gebruik IOControlCode om controlecode te specificeren die een low-level operating mode voor de socket instelt.
parameter
ioControlCode
Een IOControlCode-waarde die de controlecode specificeert voor de uit te voeren actie.
optionInValue
Een array van het type Byte met de invoergegevens die door de operatie vereist zijn.
optionOutValue
Een array van het type Byte die de uitvoergegevens bevat die door de bewerking worden teruggegeven.
Disclaimer:
Alle software, programmeermaterialen of artikelen die door Code Farmer Network worden gepubliceerd, zijn uitsluitend bedoeld voor leer- en onderzoeksdoeleinden; De bovenstaande inhoud mag niet worden gebruikt voor commerciële of illegale doeleinden, anders dragen gebruikers alle gevolgen. De informatie op deze site komt van het internet, en auteursrechtconflicten hebben niets met deze site te maken. Je moet bovenstaande inhoud volledig van je computer verwijderen binnen 24 uur na het downloaden. Als je het programma leuk vindt, steun dan de echte software, koop registratie en krijg betere echte diensten. Als er sprake is van een inbreuk, neem dan contact met ons op via e-mail.

Mail To:help@itsvse.com