이 문서는 기계 번역을 이용하여 번역되었습니다. 문서를 영문으로 보려면 영문 확인란을 선택하세요. 마우스 포인터를 텍스트 위로 이동시켜 팝업 창에서 영문 텍스트를 표시할 수도 있습니다.
번역
영문

Socket.ReceiveBufferSize 속성

 

게시 날짜: 2016년 11월

수신 버퍼의 크기를 지정 하는 값을 가져오거나 설정 합니다.는 Socket합니다.

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

public int ReceiveBufferSize { get; set; }

속성 값

Type: System.Int32

Int32 수신 버퍼를 바이트 단위로 크기를 포함 하는 합니다. 기본값은 8192입니다.

Exception Condition
SocketException

소켓에 액세스하는 동안 오류가 발생했습니다.

ObjectDisposedException

Socket이 닫혔습니다.

ArgumentOutOfRangeException

Set 작업에 지정 된 값이 0 보다 작은 경우

더 큰 버퍼 크기를 잠재적으로 빈 승인 (데이터 부분이 없는 TCP 패킷)의 수를 줄일 수 있지만 연결 문제를 인식 하는 데 오래 걸릴 수 있습니다. 큰 파일을 전송 하는 높은 대역폭, 대기 시간이 긴 연결 (예: 위성 광대역 공급자입니다.)를 사용 하는 경우 버퍼 크기를 늘리는 것이 좋습니다

다음 코드 예제에서는 ReceiveBufferSize 속성입니다.

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 플랫폼
10 이후 사용 가능
.NET Framework
2.0 이후 사용 가능
Silverlight
2.0 이후 사용 가능
Windows Phone Silverlight
7.1 이후 사용 가능
맨 위로 이동
표시: