BeardedManStudios.Network.CachedUdpClient.DoSend C# (CSharp) Метод

DoSend() приватный Метод

private DoSend ( byte dgram, int bytes, IPEndPoint endPoint ) : int
dgram byte
bytes int
endPoint System.Net.IPEndPoint
Результат int
		int DoSend(byte[] dgram, int bytes, IPEndPoint endPoint)
		{
			/* Catch EACCES and turn on SO_BROADCAST then,
			 * as UDP sockets don't have it set by default
			 */
			try
			{
				if (endPoint == null)
				{
					return (socket.Send(dgram, 0, bytes,
								SocketFlags.None));
				}
				else
				{
					return (socket.SendTo(dgram, 0, bytes,
								  SocketFlags.None,
								  endPoint));
				}
			}
			catch (SocketException ex)
			{
				if (ex.ErrorCode == (int)SocketError.AccessDenied)
				{
					socket.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.Broadcast, 1);
					if (endPoint == null)
					{
						return (socket.Send(dgram, 0, bytes, SocketFlags.None));
					}
					else
					{
						return (socket.SendTo(dgram, 0, bytes, SocketFlags.None, endPoint));
					}
				}
				else
				{
					throw;
				}
			}
		}