내보내기(0) 인쇄
모두 확장

Socket.SendTimeout 속성

업데이트: 2007년 11월

동기 Send 호출이 완료되어야 하는 제한 시간을 지정하는 값을 가져오거나 설정합니다.

네임스페이스:  System.Net.Sockets
어셈블리:  System(System.dll)

public int SendTimeout { get; set; }
/** @property */
public int get_SendTimeout()
/** @property */
public  void set_SendTimeout(int value)

public function get SendTimeout () : int
public function set SendTimeout (value : int)

속성 값

형식: System.Int32

제한 시간 값(밀리초)입니다. 1부터 499 사이의 값으로 속성을 설정하면 값이 500으로 변경됩니다. 기본값은 0으로, 시간 제한이 없음을 나타냅니다. - 1을 지정해도 시간 제한이 없음을 나타냅니다.

예외상황
SocketException

소켓에 액세스하려고 시도하는 동안 오류가 발생한 경우

ObjectDisposedException

Socket가 닫힌 경우

ArgumentOutOfRangeException

set 작업에 지정된 값이 -1보다 작은 경우

이 옵션은 동기 Send 호출에만 적용됩니다. 제한 시간이 초과되면 Send 메서드가 SocketException을 throw합니다.

다음 코드 예제에서는 SendTimeout 속성을 사용하는 방법을 보여 줍니다.

		static void ConfigureTcpSocket(Socket tcpSocket)
		{
			// Don't allow another socket to bind to this port.
			tcpSocket.ExclusiveAddressUse = true;

			// The socket will linger for 10 seconds after 
                        // Socket.Close is called.
			tcpSocket.LingerState = new LingerOption (true, 10);

			// Disable the Nagle Algorithm for this tcp socket.
			tcpSocket.NoDelay = true;

			// Set the receive buffer size to 8k
			tcpSocket.ReceiveBufferSize = 8192;

			// Set the timeout for synchronous receive methods to 
			// 1 second (1000 milliseconds.)
			tcpSocket.ReceiveTimeout = 1000;

			// Set the send buffer size to 8k.
			tcpSocket.SendBufferSize = 8192;

			// Set the timeout for synchronous send methods
			// to 1 second (1000 milliseconds.)			
			tcpSocket.SendTimeout = 1000;

			// Set the Time To Live (TTL) to 42 router hops.
			tcpSocket.Ttl = 42;

			Console.WriteLine("Tcp Socket configured:");

			Console.WriteLine("  ExclusiveAddressUse {0}", 
						tcpSocket.ExclusiveAddressUse);

			Console.WriteLine("  LingerState {0}, {1}", 
					     tcpSocket.LingerState.Enabled, 
				             tcpSocket.LingerState.LingerTime);

			Console.WriteLine("  NoDelay {0}", 
                                                tcpSocket.NoDelay);

			Console.WriteLine("  ReceiveBufferSize {0}", 
						tcpSocket.ReceiveBufferSize);

			Console.WriteLine("  ReceiveTimeout {0}", 
						tcpSocket.ReceiveTimeout);

			Console.WriteLine("  SendBufferSize {0}", 
						tcpSocket.SendBufferSize);

			Console.WriteLine("  SendTimeout {0}", 
                                                tcpSocket.SendTimeout);

			Console.WriteLine("  Ttl {0}", 
                                                tcpSocket.Ttl);

                        Console.WriteLine("  IsBound {0}", 
                                                tcpSocket.IsBound);

			Console.WriteLine("");
		}


Windows Vista, Windows XP SP2, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP Starter Edition, Windows Server 2003, Windows Server 2000 SP4, Windows Millennium Edition, Windows 98

.NET Framework 및 .NET Compact Framework에서 모든 플랫폼의 전체 버전을 지원하지는 않습니다. 지원되는 버전의 목록을 보려면 .NET Framework 시스템 요구 사항을 참조하십시오.

.NET Framework

3.5, 3.0, 2.0에서 지원

커뮤니티 추가 항목

추가
표시:
© 2014 Microsoft