コード例 #1
0
 public void Connect(string sendInterface, int?sendBufferSize, PgmSendWindowSize?windowSize)
 {
     lock (syncRoot)
     {
         if (socket != null)
         {
             socket.Close();
             socket = null;
         }
         socket = new PgmSocket();
         int?nullable = sendBufferSize;
         socket.SendBufferSize = nullable.HasValue ? nullable.GetValueOrDefault() : 0x100000;
         if (!string.IsNullOrEmpty(sendInterface))
         {
             IPAddress interfaceIpAddress = IPAddress.Parse(sendInterface);
             this.socket.SetSendInterface(interfaceIpAddress);
         }
         socket.Bind(new IPEndPoint(IPAddress.Any, 50001));
         if (!windowSize.HasValue)
         {
             windowSize = new PgmSendWindowSize(DefaultRateKbitsPerSec, DefaultWindowSizeInMSecs, DefaultWindowSizeInBytes);
         }
         socket.SetSendWindowSize(windowSize.Value);
         socket.Connect(EndPoint);
     }
 }
コード例 #2
0
 public void SetSendWindowSize(PgmSendWindowSize sendWindowSize)
 {
     byte[] bytes = sendWindowSize.GetBytes();
     SetPgmSocketOption(PgmSocketOptions.RM_RATE_WINDOW_SIZE, bytes);
 }