﻿<html xmlns:MSHelp="http://msdn.microsoft.com/mshelp" xmlns:mshelp="http://msdn.microsoft.com/mshelp"><head><link rel="SHORTCUT ICON" href="./../icons/favicon.ico" /><style type="text/css">.OH_CodeSnippetContainerTabLeftActive, .OH_CodeSnippetContainerTabLeft,.OH_CodeSnippetContainerTabLeftDisabled { backgroundImageName: tabLeftBG.gif; }.OH_CodeSnippetContainerTabRightActive, .OH_CodeSnippetContainerTabRight,.OH_CodeSnippetContainerTabRightDisabled { backgroundImageName: tabRightBG.gif; }.OH_footer { backgroundImageName: footer_slice.gif; background-position: top; background-repeat: repeat-x; }</style><link rel="stylesheet" type="text/css" href="./../styles/branding.css" /><link rel="stylesheet" type="text/css" href="./../styles/branding-en-US.css" /><style type="text/css">
			body
			{
			border-left:5px solid #e6e6e6;
			overflow-x:scroll;
			overflow-y:scroll;
			}
		</style><script src="./../scripts/branding.js" type="text/javascript"><!----></script><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>UdpAppender.RemoteAddress Property </title><meta name="Language" content="en-us" /><meta name="System.Keywords" content="RemoteAddress property" /><meta name="System.Keywords" content="UdpAppender.RemoteAddress property" /><meta name="Microsoft.Help.F1" content="log4net.Appender.UdpAppender.RemoteAddress" /><meta name="Microsoft.Help.F1" content="log4net.Appender.UdpAppender.get_RemoteAddress" /><meta name="Microsoft.Help.F1" content="log4net.Appender.UdpAppender.set_RemoteAddress" /><meta name="Microsoft.Help.Id" content="P:log4net.Appender.UdpAppender.RemoteAddress" /><meta name="Description" content="Gets or sets the IP address of the remote host or multicast group to which the underlying should sent the logging event." /><meta name="Microsoft.Help.ContentType" content="Reference" /><meta name="BrandingAware" content="'true'" /><meta name="container" content="log4net.Appender" /><meta name="file" content="P_log4net_Appender_UdpAppender_RemoteAddress" /><meta name="guid" content="P_log4net_Appender_UdpAppender_RemoteAddress" /><link type="text/css" rel="stylesheet" href="ms-help://Hx/HxRuntime/HxLink.css" /><meta name="SelfBranded" content="true" /></head><body onload="onLoad()" class="primary-mtps-offline-document"><div class="OH_outerDiv"><div class="OH_outerContent"><table class="TitleTable"><tr><td class="OH_tdTitleColumn">UdpAppender<span id="ID0EBBABAAA"> </span><script type="text/javascript">
					addToLanSpecTextIdSet("ID0EBBABAAA?vb=.|cpp=::|cs=.|fs=.|nu=.");
				</script>RemoteAddress Property </td><td class="OH_tdRunningTitleColumn">Apache log4net™ SDK Documentation</td></tr></table><div id="mainSection"><div id="mainBody"><span class="introStyle"></span><div class="summary">
            Gets or sets the IP address of the remote host or multicast group to which
            the underlying <img src="./../icons/online_icon.gif" class="OH_offlineIcon" alt="Online" title="Online" /><a href="http://msdn2.microsoft.com/en-us/library/9wkb9k12" target="_blank">UdpClient</a> should sent the logging event.
            </div><p></p><b>Namespace:</b> <a href="N_log4net_Appender.htm" target="">log4net.Appender</a><br /><b>Assembly:</b> <span sdata="assembly">log4net</span> (in log4net.dll) Version: 1.2.14.0 (1.2.14.0)<div class="OH_CollapsibleAreaRegion"><div class="OH_regiontitle">Syntax</div><div class="OH_CollapsibleArea_HrDiv"><hr class="OH_CollapsibleArea_Hr" /></div></div><div class="OH_clear"></div><div id="snippetGroup_Syntax" class="code"><div id="ID0ECFDAAAAA" class="OH_CodeSnippetContainer"><div class="OH_CodeSnippetContainerTabs" id="ID0ECFDAAAAA_tabs"><div class="OH_CodeSnippetContainerTabLeftActive" id="ID0ECFDAAAAA_tabimgleft"></div><div id="ID0ECFDAAAAA_tab1" class="OH_CodeSnippetContainerTabActive" EnableCopyCode="true"><a href="#" onclick="javascript:ChangeTab('ID0ECFDAAAAA','C#','1','4');return false;">C#</a></div><div id="ID0ECFDAAAAA_tab2" class="OH_CodeSnippetContainerTab" EnableCopyCode="true"><a href="#" onclick="javascript:ChangeTab('ID0ECFDAAAAA','Visual Basic','2','4');return false;">VB</a></div><div id="ID0ECFDAAAAA_tab3" class="OH_CodeSnippetContainerTab" EnableCopyCode="true"><a href="#" onclick="javascript:ChangeTab('ID0ECFDAAAAA','Visual C++','3','4');return false;">C++</a></div><div id="ID0ECFDAAAAA_tab4" class="OH_CodeSnippetContainerTabDisabledNotFirst" EnableCopyCode="true" disabled="true"><a>F#</a></div><div class="OH_CodeSnippetContainerTabRight" id="ID0ECFDAAAAA_tabimgright"></div></div><div id="ID0ECFDAAAAA_codecollection" class="OH_CodeSnippetContainerCodeCollection"><div class="OH_CodeSnippetToolBar"><div class="OH_CodeSnippetToolBarText"><a id="ID0ECFDAAAAA_ViewColorized" href="#" onclick="javascript:ExchangeTitleContent('ID0ECFDAAAAA','4')" title="View Colorized" style="display: none">View Colorized</a><a id="ID0ECFDAAAAA_copycode" href="#" onclick="javascript:CopyToClipboard('ID0ECFDAAAAA','4')" title="Copy to Clipboard">Copy to Clipboard</a><a id="ID0ECFDAAAAA_PrintText" class="OH_PrintText" href="#" onclick="javascript:Print('ID0ECFDAAAAA','4')" title="Print">Print</a></div></div><div id="ID0ECFDAAAAA_code_Div1" class="OH_CodeSnippetContainerCode" style="display: block"><pre><span class="keyword">public</span> <span class="identifier">IPAddress</span> <span class="identifier">RemoteAddress</span> { <span class="keyword">get</span>; <span class="keyword">set</span>; }</pre></div><div id="ID0ECFDAAAAA_code_Plain_Div1" class="OH_CodeSnippetContainerCode" style="display: none"><pre>public IPAddress RemoteAddress { get; set; }</pre></div><div id="ID0ECFDAAAAA_code_Div2" class="OH_CodeSnippetContainerCode" style="display: none"><pre><span class="keyword">Public</span> <span class="keyword">Property</span> <span class="identifier">RemoteAddress</span> <span class="keyword">As</span> <span class="identifier">IPAddress</span> 
	<span class="keyword">Get</span> 
	<span class="keyword">Set</span></pre></div><div id="ID0ECFDAAAAA_code_Plain_Div2" class="OH_CodeSnippetContainerCode" style="display: none"><pre>Public Property RemoteAddress As IPAddress 
	Get 
	Set</pre></div><div id="ID0ECFDAAAAA_code_Div3" class="OH_CodeSnippetContainerCode" style="display: none"><pre><span class="keyword">public</span>:
<span class="keyword">property</span> <span class="identifier">IPAddress</span>^ <span class="identifier">RemoteAddress</span> {
	<span class="identifier">IPAddress</span>^ <span class="keyword">get</span> ();
	<span class="keyword">void</span> <span class="keyword">set</span> (<span class="identifier">IPAddress</span>^ <span class="parameter">value</span>);
}</pre></div><div id="ID0ECFDAAAAA_code_Plain_Div3" class="OH_CodeSnippetContainerCode" style="display: none"><pre>public:
property IPAddress^ RemoteAddress {
	IPAddress^ get ();
	void set (IPAddress^ value);
}</pre></div><div id="ID0ECFDAAAAA_code_Div4" class="OH_CodeSnippetContainerCode" style="display: none"><pre /></div><div id="ID0ECFDAAAAA_code_Plain_Div4" class="OH_CodeSnippetContainerCode" style="display: none"><pre /></div></div></div><script>addSpecificTextLanguageTagSet('ID0ECFDAAAAA');</script></div><h4 class="subHeading">Property Value</h4>Type: <img src="./../icons/online_icon.gif" class="OH_offlineIcon" alt="Online" title="Online" /><a href="http://msdn2.microsoft.com/en-us/library/s128tyf6" target="_blank">IPAddress</a><br />
            The IP address of the remote host or multicast group to which the logging event 
            will be sent.
            <div class="OH_CollapsibleAreaRegion"><div class="OH_regiontitle">Remarks</div><div class="OH_CollapsibleArea_HrDiv"><hr class="OH_CollapsibleArea_Hr" /></div></div><div class="OH_clear"></div><p>
            Multicast addresses are identified by IP class <b>D</b> addresses (in the range 224.0.0.0 to
            239.255.255.255).  Multicast packets can pass across different networks through routers, so
            it is possible to use multicasts in an Internet scenario as long as your network provider 
            supports multicasting.
            </p><p>
            Hosts that want to receive particular multicast messages must register their interest by joining
            the multicast group.  Multicast messages are not sent to networks where no host has joined
            the multicast group.  Class <b>D</b> IP addresses are used for multicast groups, to differentiate
            them from normal host addresses, allowing nodes to easily detect if a message is of interest.
            </p><p>
            Static multicast addresses that are needed globally are assigned by IANA.  A few examples are listed in the table below:
            </p><p><div class="tableSection"><table><tr><th>IP Address</th><th>Description</th></tr><tr><td>224.0.0.1</td><td>
                        Sends a message to all system on the subnet.
                        </td></tr><tr><td>224.0.0.2</td><td>
                        Sends a message to all routers on the subnet.
                        </td></tr><tr><td>224.0.0.12</td><td>
                        The DHCP server answers messages on the IP address 224.0.0.12, but only on a subnet.
                        </td></tr></table></div></p><p>
            A complete list of actually reserved multicast addresses and their owners in the ranges
            defined by RFC 3171 can be found at the IANA web site. 
            </p><p>
            The address range 239.0.0.0 to 239.255.255.255 is reserved for administrative scope-relative 
            addresses.  These addresses can be reused with other local groups.  Routers are typically 
            configured with filters to prevent multicast traffic in this range from flowing outside
            of the local network.
            </p><a name="seeAlsoSection"><!----></a><div class="OH_CollapsibleAreaRegion"><div class="OH_regiontitle">See Also</div><div class="OH_CollapsibleArea_HrDiv"><hr class="OH_CollapsibleArea_Hr" /></div></div><div class="OH_clear"></div><div class="seeAlsoStyle"><a href="T_log4net_Appender_UdpAppender.htm" target="">UdpAppender Class</a></div><div class="seeAlsoStyle"><a href="AllMembers_T_log4net_Appender_UdpAppender.htm" target="">UdpAppender Members</a></div><div class="seeAlsoStyle"><a href="N_log4net_Appender.htm" target="">log4net.Appender Namespace</a></div></div></div></div></div><div id="OH_footer" class="OH_footer"><p>Apache log4net, Apache and log4net are trademarks of The Apache Software Foundation.</p><p><a href="http://logging.apache.org/log4net/" target="_blank"><img src="./../icons/online_icon.gif" class="OH_offlineIcon" alt="Online" title="Online" /> 
						Copyright 2004-2015 The Apache Software Foundation (http://logging.apache.org/log4net/)</a></p><div class="OH_feedbacklink"><a href="mailto:http://logging.apache.org/log4net/mail-lists.html?subject=Apache+log4net%e2%84%a2+SDK+Documentation+UdpAppender.RemoteAddress+Property++100+EN-US&amp;body=Your%20feedback%20is%20used%20to%20improve%20the%20documentation%20and%20the%20product.%20Your%20e-mail%20address%20will%20not%20be%20used%20for%20any%20other%20purpose%20and%20is%20disposed%20of%20after%20the%20issue%20you%20report%20is%20resolved.%20While%20working%20to%20resolve%20the%20issue%20that%20you%20report%2c%20you%20may%20be%20contacted%20via%20e-mail%20to%20get%20further%20details%20or%20clarification%20on%20the%20feedback%20you%20sent.%20After%20the%20issue%20you%20report%20has%20been%20addressed%2c%20you%20may%20receive%20an%20e-mail%20to%20let%20you%20know%20that%20your%20feedback%20has%20been%20addressed.">Send Feedback</a> on this topic to http://logging.apache.org/log4net/mail-lists.html.</div></div></body></html>