Timeout in case of Shutdown followed by Disconnect or BeginDisconnect will occur in the case if the other side Socket is not Receiving.
Here how it works: Shutdown(SocketShutdown.Send) (or Both) produce SENDING of zero byte to other side. And then if you call Disconnect it will block until other side accept this zero byte packet. This is why socket always receive zero byte during in Accept during graceful disconnection from Socket. Linger option and other settings have no effect on this 2 minute delay. You may check connection state with TCPView. So proper way is to make sure other side is either in Receive mode OR physically disconnected OR actually destroyed socket – for example application quit (you will get immediate exception in this case without 2 minute delay).
http://vadmyst.blogspot.ru/2008/04/proper-way-to-close-tcp-socket.html
Related Posts:
- An existing connection was forcibly closed by the remote host
- What’s the difference between .NET Core, .NET Framework, and Xamarin?
- What is a singleton in C#?
- ‘Microsoft.ACE.OLEDB.12.0’ provider is not registered on the local machine
- My C# application is returning 0xE0434352 to Windows Task Scheduler but it is not crashing
- What is WCF? and what can it do?
- C# Set collection?
- Difference between Delphi and Delphi.NET
- Where/how can I download (and install) the Microsoft.Jet.OLEDB.4.0 for Windows 8, 64 bit?
- Convert Enum to String
- Windows Application has stopped working :: Event Name CLR20r3
- Why is Dictionary preferred over Hashtable in C#?
- What is the difference between ASP.NET MVC 6 and ASP.NET Core 1.0 and the reason behind the core framework?
- Embed a System.String in XAML
- What’s the difference between struct and class in .NET?
- Does anyone still use [goto] in C# and if so why?
- How does the “Using” statement translate from C# to VB?
- Where Is Machine.Config?
- ClickOnce runtime DFSVC.EXE
- “An attempt was made to load a program with an incorrect format” even when the platforms are the same
- What is the best way to parse html in C#? [closed]
- Best C# API to create PDF
- C# cannot convert method to non delegate type
- What is the difference between const and readonly in C#?
- SQL Connection Error: System.Data.SqlClient.SqlException (0x80131904)
- Cannot send a content-body with this verb-type
- Html.Partial vs Html.RenderPartial & Html.Action vs Html.RenderAction
- Pass Method as Parameter using C#
- Nuget connection attempt failed “Unable to load the service index for source”
- Cannot access a disposed object – How to fix?
- HashSet vs. List performance
- Cannot access a disposed object – How to fix?
- ArrayList vs List<> in C#
- How to access Session variables and set them in javascript?
- What’s the @ in front of a string in C#?
- How to solve ‘…is a ‘type’, which is not valid in the given context’? (C#)
- Could not load file or assembly App_Web_ * with a precompiled ASP.NET website project
- How should I cast in VB.NET?
- Calling the base constructor in C#
- Warning: Found conflicts between different versions of the same dependent assembly
- Best way to repeat a character in C#
- Connection string using Windows Authentication
- What is the purpose ApplicationDbContext Class in (under IdentityModels.cs file) ASP.NET MVC 5?
- How to solve “Could not establish trust relationship for the SSL/TLS secure channel with authority”
- How to empty a list in C#?
- What is The difference between ListBox and ListView
- SQLite equivalent to ISNULL(), NVL(), IFNULL() or COALESCE()
- Could not establish secure channel for SSL/TLS with authority ‘*’
- Cannot attach the file *.mdf as database
- How to open an Excel file in C#?
- What is a method group in C#?
- How can I download a file with batch file without using any external tools?
- How do I save a stream to a file in C#?
- Print Pdf in C#
- Can a Byte[] Array be written to a file in C#?
- Entity Framework vs LINQ to SQL
- .NET Framework 4.6 or a later update is already installed on this computer
- Retrieving the COM class factory for component with CLSID {XXXX} failed due to the following error: 80040154
- How do I find the PublicKeyToken for a particular dll?
- Could not find any resources appropriate for the specified culture or the neutral culture
- Consider app.config remapping of assembly with no app.config mapping
- What is a “first chance exception”?
- What is the difference between String and string in C#?
- Creating a List of Lists in C#
- A certificate chain could not be built to a trusted root authority
- C# int to byte[]
- INQ: When to use SingleOrDefault vs. FirstOrDefault() with filtering criteria
- Chrome hangs after certain amount of data transfered – waiting for available socket
- finding dll for “The specified module could not be found”
- Bad File Descriptor with Linux Socket write() Bad File Descriptor C
- Cannot assign requested address – possible causes?
- connect Error: “No route to host”
- What does mscorlib stand for?
- gaierror: [Errno 8] nodename nor servname provided, or not known (with macOS Sierra)
- C++ network programming
- Add new item in existing array in c#.net
- How to create PPTP connection with Java?
- Understanding INADDR_ANY for socket programming
- HttpWebRequest-The remote server returned an error: (400) Bad Request
- Reading settings from app.config or web.config in .NET
- Invalid URI: The format of the URI could not be determined
- How to add comments into a Xaml file in WPF?
- Bind failed: Address already in use
- How do I restart my C# WinForm Application?
- Getting “socket.error: [Errno 61] Connection refused” python paramiko
- WSACancelBlockingCall exception
- Best way to reverse a string
- Where to find the complete definition of off_t type?
- How can I know if a process is running?
- What is the reason and how to avoid the [FIN, ACK] , [RST] and [RST, ACK]
- How to convert UTF-8 byte[] to string
- Socket.Select returns error “An operation was attempted on something that is not a socket”
- Produce a random number in a range using C#
- How to play a sound in C#, .NET
- Python Socket Multiple Clients
- How to resolve file being used by another process?
- How to avoid a System.Runtime.InteropServices.COMException?
- How to implement a property in an interface
- How can I generate random alphanumeric strings?
- How do you do a deep copy of an object in .NET?