<?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=374380&amp;view=findpost&amp;p=3299245</guid>
        <pubDate>Wed, 10 Apr 2013 07:11:16 +0000</pubDate>
        <title>Проблемма приема сообщения по UDPSocket</title>
        <link>https://forum.sources.ru/index.php?showtopic=374380&amp;view=findpost&amp;p=3299245</link>
        <description><![CDATA[Chydik: Проблему решил использованием не UdpSocket а через TcpSocket и все заработало, так чо тему можно закрыть спасибо за ответы.]]></description>
        <author>Chydik</author>
        <category>Delphi: Сетевое программирование</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=374380&amp;view=findpost&amp;p=3293168</guid>
        <pubDate>Tue, 26 Mar 2013 14:12:16 +0000</pubDate>
        <title>Проблемма приема сообщения по UDPSocket</title>
        <link>https://forum.sources.ru/index.php?showtopic=374380&amp;view=findpost&amp;p=3293168</link>
        <description><![CDATA[medved_68: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=374380&view=findpost&p=3292941'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Chydik &#064; <time class="tag-quote__quoted-time" datetime="2013-03-26T06:00:35+00:00">26.03.13, 06:00</time></span><div class='quote '>почему событие OnRecieve вообще не срабатывает( </div></div><br>
А хоть какое-нибудь событие срабатывает? :unsure:]]></description>
        <author>medved_68</author>
        <category>Delphi: Сетевое программирование</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=374380&amp;view=findpost&amp;p=3292941</guid>
        <pubDate>Tue, 26 Mar 2013 06:00:35 +0000</pubDate>
        <title>Проблемма приема сообщения по UDPSocket</title>
        <link>https://forum.sources.ru/index.php?showtopic=374380&amp;view=findpost&amp;p=3292941</link>
        <description><![CDATA[Chydik: Я с сокетами, как уже говорил, вообще не работал. Так что извиняйте есль что по нубски скажу. Режим блокировки при создании локального сервера сокета у меня не выставлялся, но и при установки его в режим ss.BlockMode := bmNonBlocking; тоже не решило проблему и я не могу вьехать почему событие OnRecieve вообще не срабатывает(]]></description>
        <author>Chydik</author>
        <category>Delphi: Сетевое программирование</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=374380&amp;view=findpost&amp;p=3292774</guid>
        <pubDate>Mon, 25 Mar 2013 18:02:07 +0000</pubDate>
        <title>Проблемма приема сообщения по UDPSocket</title>
        <link>https://forum.sources.ru/index.php?showtopic=374380&amp;view=findpost&amp;p=3292774</link>
        <description><![CDATA[medved_68: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=374380&view=findpost&p=3292489'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Chydik &#064; <time class="tag-quote__quoted-time" datetime="2013-03-25T07:52:18+00:00">25.03.13, 07:52</time></span><div class='quote '> как реализовать срабатывание сообщения на получение пакета</div></div><br>
А что стоит в <strong class='tag-b'>BlockMode</strong>? По умолчанию bmBlocking - в блокирующем режиме работа через потоки... :D]]></description>
        <author>medved_68</author>
        <category>Delphi: Сетевое программирование</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=374380&amp;view=findpost&amp;p=3292489</guid>
        <pubDate>Mon, 25 Mar 2013 07:52:18 +0000</pubDate>
        <title>Проблемма приема сообщения по UDPSocket</title>
        <link>https://forum.sources.ru/index.php?showtopic=374380&amp;view=findpost&amp;p=3292489</link>
        <description><![CDATA[Chydik: Гуру помогите плиз понять в чем проблема. Впервые работаю с сокетами в принципе и пытаюсь соорентироваться что к чем.<br>
Суть: Хочу написать чат. На форме листбокс со списком пользователей(lstUsr) и ПейджКонтрол(pgcChat) для чата, далее будет понятней по коду (надеюсь:) )<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">//Создаю сервер</div><div class="code_line">&nbsp;ss := TUdpSocket.Create(fmChat);</div><div class="code_line">&nbsp;ss.LocalHost := ip;</div><div class="code_line">&nbsp;if length(uid) = 1 then uid := &#39;0&#39;+uid;</div><div class="code_line">&nbsp;ss.LocalPort := &#39;27&#39;+uid; //порт генерится по id пользователя в базеы</div><div class="code_line">&nbsp;ss.OnReceive := fmChat.ssReceive; //ТУТ ОСНОВНАЯ ПРОБЛЕММА=((</div><div class="code_line">&nbsp;ss.Open;</div><div class="code_line">&nbsp;</div><div class="code_line">//При 2х клике в списке пользователей</div><div class="code_line">procedure TfmChat.lstUsrDblClick(Sender: TObject);</div><div class="code_line">var page: TTabSheet;</div><div class="code_line">&nbsp;&nbsp; &nbsp;mm,mm1: &nbsp; TRichEdit;</div><div class="code_line">&nbsp;&nbsp; &nbsp;pnl, pnl1, pnl2 : TPanel;</div><div class="code_line">&nbsp;&nbsp; &nbsp;sp: TSplitter;</div><div class="code_line">&nbsp;&nbsp; &nbsp;btn : TButton;</div><div class="code_line">begin</div><div class="code_line">&nbsp;&nbsp;if lstUsr.ItemIndex &#60;&#62; -1 then</div><div class="code_line">&nbsp;&nbsp; &nbsp;Begin</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;//Создаем страницу</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;page := TTabSheet.Create(pgcChat);</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;page.Caption := lstUsr.Items[lstUsr.ItemIndex];</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;page.Name := &#39;sh&#39;+ (fmAdmin.lstLogId[lstUsr.ItemIndex]); //fmAdmin.lstLogId[lstUsr.ItemIndex]-ЭТО id ПОЛЬЗОВАТЕЛЯ В БАЗЕ ДАЛЕЕ ЧАСТО ЮЗАЕТСЯ</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;page.PageControl := pgcChat;</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;//Создаем основную панель</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;pnl := TPanel.Create(page);</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;pnl.Align := alClient;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;pnl.Name := &#39;pnlcl&#39;+ (fmAdmin.lstLogId[lstUsr.ItemIndex]);</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;pnl.Caption := &#39;&#39;;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;pnl.Parent := page;</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;//Создаем панель для чата</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;pnl1 := TPanel.Create(pnl);</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;pnl1.Align := alClient;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;pnl1.Name := &#39;pnlchat&#39;+ (fmAdmin.lstLogId[lstUsr.ItemIndex]);</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;pnl1.Caption := &#39;&#39;;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;pnl1.Parent := pnl;</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;//Создаем панель для отправки сообщений</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;pnl2 := TPanel.Create(pnl);</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;pnl2.Align := alBottom;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;pnl2.Name := &#39;pnlmsg&#39;+ (fmAdmin.lstLogId[lstUsr.ItemIndex]);</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;pnl2.Caption := &#39;&#39;;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;pnl2.Height := 200;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;pnl2.Parent := pnl;</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;//Создаем сплиттер</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;sp := TSplitter.Create(pnl);</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;sp.Name := &#39;spl&#39;+ (fmAdmin.lstLogId[lstUsr.ItemIndex]);</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;sp.Align := alBottom;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;sp.Parent := pnl;</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;//Создаем чат</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;mm := TRichEdit.Create(pgcChat);</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;mm.Name := &#39;rd&#39;+ (fmAdmin.lstLogId[lstUsr.ItemIndex]);</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;mm.Align := alClient;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;mm.ScrollBars := ssVertical;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;mm.WordWrap := True;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;mm.Parent := pnl1;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;mm.ReadOnly := True;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;mm.Clear;</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;//Создаем сообщения</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;mm1 := TRichEdit.Create(pgcChat);</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;mm1.Name := &#39;rdc&#39;+ (fmAdmin.lstLogId[lstUsr.ItemIndex]);</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;mm1.Anchors := [akLeft,akTop,akRight,akBottom];</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;mm1.Height := pnl2.Height - 32;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;mm1.Width := pnl2.Width -2;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;mm1.ScrollBars := ssVertical;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;mm1.WordWrap := True;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;mm1.Parent := pnl2;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;mm1.Clear;</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;//Создаем кнопку</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;btn := TButton.Create(pnl2);</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;btn.Width := 80;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;btn.Height := 22;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;btn.Caption := &#39;Отправить&#39;;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;btn.Left := pnl2.Width - 90;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;btn.Tag := strtoint(fmAdmin.lstLogId[lstUsr.ItemIndex]);</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;btn.Top := mm1.Top + mm1.Height + 5;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;btn.Anchors := [akRight,akBottom];</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;fmMain.zqry1.SQL.Text := &#39;SELECT id, ip FROM users WHERE name=&quot;&#39;+lstUsr.Items[lstUsr.ItemIndex]+&#39;&quot;&#39;;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;fmMain.zqry1.Open;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;if Length(fmMain.ds1.DataSet.FieldByName(&#39;id&#39;).AsString) = 1 then</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;btn.Hint := fmMain.ds1.DataSet.FieldByName(&#39;ip&#39;).AsString+&#39;:&#39;+&#39;270&#39;+fmMain.ds1.DataSet.FieldByName(&#39;id&#39;).AsString</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;else</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;btn.Hint := fmMain.ds1.DataSet.FieldByName(&#39;ip&#39;).AsString+&#39;:&#39;+&#39;27&#39;+fmMain.ds1.DataSet.FieldByName(&#39;id&#39;).AsString;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;btn.ShowHint := True;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;btn.OnClick := SendClick;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;btn.Parent := pnl2;</div><div class="code_line">&nbsp;&nbsp; &nbsp;end;</div><div class="code_line">end;</div><div class="code_line">&nbsp;</div><div class="code_line">//Событие при клике</div><div class="code_line">procedure TfmChat.SendClick(Sender: TObject);</div><div class="code_line">var p: TRichEdit;</div><div class="code_line">&nbsp;&nbsp; &nbsp;ms: TStrings;</div><div class="code_line">&nbsp;&nbsp; &nbsp;cs: TUdpSocket;</div><div class="code_line">&nbsp;&nbsp; &nbsp;ip,port: string;</div><div class="code_line">begin</div><div class="code_line">&nbsp;p := pgcChat.FindComponent(&#39;rdc&#39;+IntToStr(TButton(Sender).tag)) as TRichEdit;</div><div class="code_line">&nbsp;&nbsp;if Assigned(p) then</div><div class="code_line">&nbsp;&nbsp;begin</div><div class="code_line">&nbsp;// &nbsp; ms.Clear;</div><div class="code_line">&nbsp;&nbsp; &nbsp;ms := p.Lines;</div><div class="code_line">&nbsp;&nbsp; &nbsp;p := TRichEdit(pgcChat.FindComponent(&#39;rd&#39;+IntToStr(TButton(Sender).tag)));</div><div class="code_line">&nbsp;&nbsp; &nbsp;if Assigned(p) then</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;begin</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;AddColoredLine(p,&#39;(&#39;+DateTimeToStr(Now)+&#39;)&#39;,clRed);</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;P.SelStart &nbsp;:= Length(p.Text);</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;P.SelAttributes.Color := clBlack;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;p.Lines.AddStrings(ms);</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;if pos(&#39;:&#39;,TButton(Sender).hint) &#60;&#62; 1 then</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Begin</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;ip := copy(TButton(Sender).hint,1,pos(&#39;:&#39;,TButton(Sender).hint)-1);</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;port := copy(TButton(Sender).hint,pos(&#39;:&#39;,TButton(Sender).hint)+1,length(TButton(Sender).hint)-pos(&#39;:&#39;,TButton(Sender).hint));</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;cs := TUdpSocket.Create(pgcChat);</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;cs.RemoteHost := ip;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;cs.RemotePort := port;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;cs.Name := &#39;sck&#39;+IntToStr(TButton(Sender).tag);</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;try</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;if cs.Connect then</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;begin</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;case Length(IntToStr(TButton(Sender).tag)) of</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 1 :cs.Sendln(&#39;00&#39;+IntToStr(TButton(Sender).tag)+ms.Text);</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2 :cs.Sendln(&#39;0&#39;+IntToStr(TButton(Sender).tag)+ms.Text);</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 3 :cs.Sendln(IntToStr(TButton(Sender).tag)+ms.Text);</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; end;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;end;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;finally</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;cs.Disconnect;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;end;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;end;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;ScrollToEnd(p);</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;end;</div><div class="code_line">&nbsp;&nbsp;end;</div><div class="code_line">end;</div><div class="code_line">&nbsp;</div><div class="code_line">//И САМОЕ ГЛАВНОЕ СОБЫТИЕ НА ПОЛУЧЕНИЕ СООБЩЕНИЯ КОТОРОЕ НЕ СРАБАТЫВАЕТ</div><div class="code_line">procedure TfmChat.ssReceive(Sender: TObject;Buf: PAnsiChar;var DataLen: Integer);</div><div class="code_line">var id: String;</div><div class="code_line">&nbsp;&nbsp; &nbsp;p: TRichEdit;</div><div class="code_line">&nbsp;&nbsp; &nbsp;ms: TStrings;</div><div class="code_line">begin</div><div class="code_line">&nbsp;&nbsp;id := IntToStr(StrToInt(Copy(Buf,1,3)));</div><div class="code_line">&nbsp;&nbsp;ShowMessage(Buf);</div><div class="code_line">&nbsp;&nbsp;p := pgcChat.FindComponent(&#39;rd&#39;+(id)) as TRichEdit;</div><div class="code_line">&nbsp;&nbsp;if Assigned(p) then</div><div class="code_line">&nbsp;&nbsp;begin</div><div class="code_line">&nbsp;&nbsp; &nbsp;ShowMessage(p.name);</div><div class="code_line">&nbsp;&nbsp; &nbsp;AddColoredLine(p,lstUsr.Items[fmAdmin.lstLogId.IndexOf(id)]+&#39;(&#39;+DateTimeToStr(Now)+&#39;)&#39;,clRed);</div><div class="code_line">&nbsp;&nbsp; &nbsp;P.SelStart &nbsp;:= Length(p.Text);</div><div class="code_line">&nbsp;&nbsp; &nbsp;P.SelAttributes.Color := clBlack;</div><div class="code_line">&nbsp;&nbsp; &nbsp;ms.Text := copy(Buf,4,DataLen);</div><div class="code_line">&nbsp;&nbsp; &nbsp;p.Lines.AddStrings(ms);</div><div class="code_line">&nbsp;&nbsp; &nbsp;ScrollToEnd(p);</div><div class="code_line">&nbsp;&nbsp;end;</div><div class="code_line">end;</div></ol></div></div></div></div><script>preloadCodeButtons('1');</script><br>
Вопрос почему и как реализовать срабатывание сообщения на получение пакета((]]></description>
        <author>Chydik</author>
        <category>Delphi: Сетевое программирование</category>
      </item>
	
      </channel>
      </rss>
	