public Service()
 {
     ServiceName = string.Empty;
     IP = string.Empty;
     Port = -1;
     Protocol = eProtocol.tcp;
 }
 public Service()
 {
     ServiceName = string.Empty;
     IP          = string.Empty;
     Port        = -1;
     Protocol    = eProtocol.tcp;
 }
        private bool Connect(string IP, int Port, eProtocol Protocol)
        {
            try
            {
                IPEndPoint IPep = new IPEndPoint(IPAddress.Parse(IP), Port);

                Socket socket = null;
                if (Protocol == eProtocol.tcp)
                {
                    socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
                }
                else
                {
                    socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Udp);
                }
                socket.ReceiveTimeout = requestTimeout;
                socket.Connect(IPep);
                socket.Close();

                return(true);
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex);
            }
            return(false);
        }
        private bool Connect(string IP, int Port, eProtocol Protocol)
        {
            try
            {
                IPEndPoint IPep = new IPEndPoint(IPAddress.Parse(IP), Port);

                Socket socket = null;
                if (Protocol == eProtocol.tcp)
                    socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
                else
                    socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Udp);
                socket.ReceiveTimeout = requestTimeout;
                socket.Connect(IPep);
                socket.Close();

                return true;
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex);
            }
            return false;
        }
		protected void RemoveMessageFromQueue(string destinationIP, eProtocol command)
		{
			lock (m_messageQueueLock)
			{
				NetworkMessage messageToRemove = null;
				foreach (NetworkMessage message in m_outstandingMessages)
				{
					if (message.RecipientsIP == destinationIP && message.MessagePacket.Command == command)
					{
						messageToRemove = message;
						break;
					}
				}
				m_outstandingMessages.Remove(messageToRemove);
			}
		}
		protected bool QueueContainsMessage(string destinationIP, eProtocol command)
		{
			bool containsMessage = false;

			lock (m_messageQueueLock)
			{
				foreach (NetworkMessage message in m_outstandingMessages)
				{
					if (message.RecipientsIP == destinationIP && message.MessagePacket.Command == command)
					{
						containsMessage = true;
						break;
					}
				}
			}

			return containsMessage;
		}