<?xml version='1.0' encoding="utf-8"?>
      <rss version='2.0'>
      <channel>
      <title>Форум на Исходниках.RU</title>
      <link>https://forum.sources.ru</link>
      <description>Форум на Исходниках.RU</description>
      <generator>Форум на Исходниках.RU</generator>
  	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=371401&amp;view=findpost&amp;p=3281679</guid>
        <pubDate>Thu, 28 Feb 2013 17:35:33 +0000</pubDate>
        <title>BeginReceiveFrom() - зачем ему ref-параметр для endpoint</title>
        <link>https://forum.sources.ru/index.php?showtopic=371401&amp;view=findpost&amp;p=3281679</link>
        <description><![CDATA[Relaxander: если произвести вскрытие System.dll, то можно увидеть<br>
<br>
<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">public IAsyncResult BeginReceiveFrom(byte[] buffer, int offset, int size, SocketFlags socketFlags, ref EndPoint remoteEP, AsyncCallback callback, object state)</div><div class="code_line">{</div><div class="code_line">...</div><div class="code_line">this.DoBeginReceiveFrom(buffer, offset, size, socketFlags, endPoint, socketAddress, overlappedAsyncResult);</div><div class="code_line">overlappedAsyncResult.FinishPostingAsyncOp(ref this.Caches.ReceiveClosureCache);</div><div class="code_line">if (overlappedAsyncResult.CompletedSynchronously &amp;&amp; !overlappedAsyncResult.SocketAddressOriginal.Equals(overlappedAsyncResult.SocketAddress))</div><div class="code_line">{</div><div class="code_line">&nbsp;&nbsp; &nbsp;try</div><div class="code_line">&nbsp;&nbsp; &nbsp;{</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;remoteEP = endPoint.Create(overlappedAsyncResult.SocketAddress);</div><div class="code_line">&nbsp;&nbsp; &nbsp;}</div><div class="code_line">&nbsp;&nbsp; &nbsp;catch</div><div class="code_line">&nbsp;&nbsp; &nbsp;{</div><div class="code_line">&nbsp;&nbsp; &nbsp;}</div><div class="code_line">}</div><div class="code_line">...</div><div class="code_line">}</div></ol></div></div></div></div><script>preloadCodeButtons('1');</script>]]></description>
        <author>Relaxander</author>
        <category>.NET: Распределенные приложения</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=371401&amp;view=findpost&amp;p=3265333</guid>
        <pubDate>Thu, 24 Jan 2013 22:37:03 +0000</pubDate>
        <title>BeginReceiveFrom() - зачем ему ref-параметр для endpoint</title>
        <link>https://forum.sources.ru/index.php?showtopic=371401&amp;view=findpost&amp;p=3265333</link>
        <description><![CDATA[Mr.Delphist: В общем, есть закавыка идеологического характера. Итоак, асинхронные сокеты. Сначала делаем BeginReceiveFrom, затем EndReceiveFrom. Оба метода имеют в качестве ref-параметра адрес endpoint, с которого происходит приём данных.<br><br>Вопрос: зачем этот endpoint в begin-параметре? Это что, interface pollution? Есть ли хоть один реальный кейс, когда этот параметр нужен при инициировании асинхронного чтения (а не при сигнализации о его, чтения, завершении). Честно говоря, ломает описывать эти ендпоинты по 2 раза :)]]></description>
        <author>Mr.Delphist</author>
        <category>.NET: Распределенные приложения</category>
      </item>
	
      </channel>
      </rss>
	