Ten artykuł jest lustrzanym artykułem tłumaczenia maszynowego, kliknij tutaj, aby przejść do oryginalnego artykułu.

Widok: 19287|Odpowiedź: 1

[Źródło] [Rzeczywista walka] UDP System.Net.Sockets.SocketException

[Skopiuj link]
Opublikowano 09.03.2017 10:16:26 | | |
System.Net.Sockets.SocketException (0x80004005): Zdalny host wymusił zamknięcie istniejącego połączenia.   W System.Net.Sockets.Socket.ReceiveFrom(Byte[] b



Podczas komunikacji UDP, używając try... Instrukcja catch zawsze wyświetla błąd przy akceptacji danych:
System.Net.Sockets.SocketException (0x80004005): Zdalny host wymusił zamknięcie istniejącego połączenia.
Najgłupszym rozwiązaniem było nie robić nic w instrukcji catch i pozwolić, by funkcja portu słuchania działała dalej. Ale to nie jest rozwiązanie długoterminowe, więc długo szukałem w internecie i znalazłem wyjaśnienie Microsoftu.


Wyjaśnienie Microsoftu: http://support.microsoft.com/kb/263823

Rozwiązanie:








Poprzedni:Pomyślnie wykonano dziurę UDP [Wznowienie]
Następny:Javascrip{filter}t window.print() ustala styl drukowania i zawartość
 Ziemianin| Opublikowano 09.03.2017 10:17:54 |
Po inicjalizacji obiektu ustaw właściwości następująco:
                    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[])
Użyj IOControlCode do określenia kodu sterującego ustawiającego niskopoziomowy tryb działania dla gniazda.
parametr
ioControlCode
Wartość IOControlCode określająca kod sterujący dla wykonania akcji.
optionInValue
Tablica typu Bajt zawierająca dane wejściowe wymagane przez operację.
optionOutValue
Tablica typu Bajt, która zawiera dane wyjściowe zwracane przez operację.
Zrzeczenie się:
Całe oprogramowanie, materiały programistyczne lub artykuły publikowane przez Code Farmer Network służą wyłącznie celom edukacyjnym i badawczym; Powyższe treści nie mogą być wykorzystywane do celów komercyjnych ani nielegalnych, w przeciwnym razie użytkownicy ponoszą wszelkie konsekwencje. Informacje na tej stronie pochodzą z Internetu, a spory dotyczące praw autorskich nie mają z nią nic wspólnego. Musisz całkowicie usunąć powyższą zawartość z komputera w ciągu 24 godzin od pobrania. Jeśli spodoba Ci się program, wspieraj oryginalne oprogramowanie, kup rejestrację i korzystaj z lepszych, autentycznych usług. W przypadku naruszenia praw prosimy o kontakt mailowy.

Mail To:help@itsvse.com