Tento článek je zrcadlovým článkem o strojovém překladu, klikněte zde pro přechod na původní článek.

Pohled: 19287|Odpověď: 1

[Zdroj] [Skutečný boj] UDP System.Net.Sockets.SocketException

[Kopírovat odkaz]
Zveřejněno 09.03.2017 10:16:26 | | |
System.Net.Sockets.SocketException (0x80004005): Vzdálený hostitel donutil stávající spojení uzavřít.   In System.Net.Sockets.Socket.ReceiveFrom(Byte[] b



Během komunikace přes UDP, pomocí try... Příkaz catch vždy při přijímání dat vykazuje chybu:
System.Net.Sockets.SocketException (0x80004005): Vzdálený hostitel donutil stávající spojení uzavřít.
Nejhloupější řešení bylo nedělat nic v catch příkazu a nechat funkci naslouchání portu běžet dál. Ale to není dlouhodobé řešení a dlouho jsem hledal online a našel vysvětlení od Microsoftu.


Vysvětlení Microsoftu: http://support.microsoft.com/kb/263823

Řešení:








Předchozí:Úspěšně provedeno UDP díry [Přetisk]
Další:Javascrip{filter}t window.print() nastavuje styl tisku a obsah
 Pronajímatel| Zveřejněno 09.03.2017 10:17:54 |
Po inicializaci objektu nastavte vlastnosti následovně:
                    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);

Metoda Socket.IOControl (IOControlCode, byte[], byte[])
Použijte IOControlCode k určení řídicího kódu pro nastavení nízkoúrovňového provozního režimu pro socket.
parametr
ioControlCode
Hodnota IOControlCode, která specifikuje řídicí kód pro akci, která má být provedena.
optionInValue
Pole typu Bajt obsahující vstupní data požadovaná operací.
optionOutValue
Pole typu Bajt, které obsahuje výstupní data vrácená operací.
Zřeknutí se:
Veškerý software, programovací materiály nebo články publikované organizací Code Farmer Network slouží pouze k učení a výzkumu; Výše uvedený obsah nesmí být používán pro komerční ani nelegální účely, jinak nesou všechny důsledky uživatelé. Informace na tomto webu pocházejí z internetu a spory o autorská práva s tímto webem nesouvisí. Musíte výše uvedený obsah ze svého počítače zcela smazat do 24 hodin od stažení. Pokud se vám program líbí, podporujte prosím originální software, kupte si registraci a získejte lepší skutečné služby. Pokud dojde k jakémukoli porušení, kontaktujte nás prosím e-mailem.

Mail To:help@itsvse.com