浏览代码

update socket methods

Luke Pulverenti 8 年之前
父节点
当前提交
5477bb95d9
共有 1 个文件被更改,包括 11 次插入6 次删除
  1. 11 6
      Emby.Common.Implementations/Net/UdpSocket.cs

+ 11 - 6
Emby.Common.Implementations/Net/UdpSocket.cs

@@ -49,7 +49,7 @@ namespace Emby.Common.Implementations.Net
 
 
         private void InitReceiveSocketAsyncEventArgs()
         private void InitReceiveSocketAsyncEventArgs()
         {
         {
-            var receiveBuffer = new byte[8192];
+            var receiveBuffer = new byte[81920];
             _receiveSocketAsyncEventArgs.SetBuffer(receiveBuffer, 0, receiveBuffer.Length);
             _receiveSocketAsyncEventArgs.SetBuffer(receiveBuffer, 0, receiveBuffer.Length);
             _receiveSocketAsyncEventArgs.Completed += _receiveSocketAsyncEventArgs_Completed;
             _receiveSocketAsyncEventArgs.Completed += _receiveSocketAsyncEventArgs_Completed;
 
 
@@ -128,11 +128,18 @@ namespace Emby.Common.Implementations.Net
             _receiveSocketAsyncEventArgs.RemoteEndPoint = receivedFromEndPoint;
             _receiveSocketAsyncEventArgs.RemoteEndPoint = receivedFromEndPoint;
             _currentReceiveTaskCompletionSource = tcs;
             _currentReceiveTaskCompletionSource = tcs;
 
 
-            var willRaiseEvent = _Socket.ReceiveFromAsync(_receiveSocketAsyncEventArgs);
+            try
+            {
+                var willRaiseEvent = _Socket.ReceiveFromAsync(_receiveSocketAsyncEventArgs);
 
 
-            if (!willRaiseEvent)
+                if (!willRaiseEvent)
+                {
+                    _receiveSocketAsyncEventArgs_Completed(this, _receiveSocketAsyncEventArgs);
+                }
+            }
+            catch (Exception ex)
             {
             {
-                _receiveSocketAsyncEventArgs_Completed(this, _receiveSocketAsyncEventArgs);
+                tcs.TrySetException(ex);
             }
             }
 
 
             return tcs.Task;
             return tcs.Task;
@@ -189,8 +196,6 @@ namespace Emby.Common.Implementations.Net
                 taskSource.TrySetException(ex);
                 taskSource.TrySetException(ex);
             }
             }
 
 
-            //_Socket.SendTo(messageData, new System.Net.IPEndPoint(IPAddress.Parse(RemoteEndPoint.IPAddress), RemoteEndPoint.Port));
-
             return taskSource.Task;
             return taskSource.Task;
 #endif
 #endif
             //ThrowIfDisposed();
             //ThrowIfDisposed();