<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: Simple UDP communication in MQX Software Solutions</title>
    <link>https://community.nxp.com/t5/MQX-Software-Solutions/Simple-UDP-communication/m-p/170664#M1905</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Some time ago I developed this code about a UDP Server. I am attaching here. I hope it helps you.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;You also may find useful the appnote:&lt;/P&gt;&lt;P&gt;&lt;A href="http://cache.freescale.com/files/32bit/doc/app_note/AN4644.pdf?fsrch=1&amp;amp;sr=3" title="http://cache.freescale.com/files/32bit/doc/app_note/AN4644.pdf?fsrch=1&amp;amp;sr=3"&gt;http://cache.freescale.com/files/32bit/doc/app_note/AN4644.pdf?fsrch=1&amp;amp;sr=3&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="http://cache.freescale.com/files/32bit/doc/app_note/AN4644SW.zip?fsrch=1&amp;amp;sr=3" title="http://cache.freescale.com/files/32bit/doc/app_note/AN4644SW.zip?fsrch=1&amp;amp;sr=3"&gt;http://cache.freescale.com/files/32bit/doc/app_note/AN4644SW.zip?fsrch=1&amp;amp;sr=3&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;-Garabo&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Thu, 31 Jan 2013 03:09:38 GMT</pubDate>
    <dc:creator>Luis_Garabo</dc:creator>
    <dc:date>2013-01-31T03:09:38Z</dc:date>
    <item>
      <title>Simple UDP communication</title>
      <link>https://community.nxp.com/t5/MQX-Software-Solutions/Simple-UDP-communication/m-p/170663#M1904</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello,&lt;/P&gt;&lt;P&gt;I try to setup a simple udp communication between an UDP client on my PC and the K60 tower. I have wireshark on the PC and I see the outgoing frame to the K60. I have follow the socket example Quote of the Day in the Freescale MQX™ RTCS™ User’s Guide. &lt;/P&gt;&lt;P&gt;When I run the app on the board the RTCS_selectall function return immediately (before I send anything through the network) with a valid socket number but when I read the datas with the recvfrom function the IP address, the TCP port and the datas are 0. Afterthat when I try to send UDP frame's the selectall function never detect activity on the socket. Thank for your help. The udp task that I write:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;/*TASK*-----------------------------------------------------------------&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;* Function Name&amp;nbsp; : udp_task&lt;/P&gt;&lt;P&gt;* Returned Value : void&lt;/P&gt;&lt;P&gt;* Comments&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; :&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*END------------------------------------------------------------------*/&lt;/P&gt;&lt;P&gt;void udp_task(uint_32 temp) &lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;&amp;nbsp; static uint_32&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; sSocketHndl;&lt;/P&gt;&lt;P&gt;&amp;nbsp; static uint_32&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; sListenSocketHndl;&lt;/P&gt;&lt;P&gt;&amp;nbsp; static uint_16&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; sRemoteRxLengh;&lt;/P&gt;&lt;P&gt;&amp;nbsp; static int_32&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; sNbOfByteReceived;&lt;/P&gt;&lt;P&gt;&amp;nbsp; static int_32&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; sNbOfByteTransmit;&lt;/P&gt;&lt;P&gt;&amp;nbsp; static sockaddr_in&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; sLocalAddr; &lt;/P&gt;&lt;P&gt;&amp;nbsp; static sockaddr_in&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; sRemoteTxAddr;&lt;/P&gt;&lt;P&gt;&amp;nbsp; static sockaddr_in&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; sRemoteRxAddr;&lt;/P&gt;&lt;P&gt;&amp;nbsp; static uchar&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; sUdpRemoteBuffer[kUDP_BUF_LEN];&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp; static int_32&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; error;&lt;/P&gt;&lt;P&gt;&amp;nbsp; static uint_32&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; sUerror;&lt;/P&gt;&lt;P&gt;&amp;nbsp; static _enet_handle&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; sEthernetHandle;&lt;/P&gt;&lt;P&gt;&amp;nbsp; static _rtcs_if_handle&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; sRTCSHandle;&lt;/P&gt;&lt;P&gt;&amp;nbsp; static _enet_address&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; sMacAddress;&lt;/P&gt;&lt;P&gt;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp; /* We are running on a memory constrained device, lower RTCS's defaults */&lt;/P&gt;&lt;P&gt;&amp;nbsp; /* runtime RTCS configuration */&lt;/P&gt;&lt;P&gt;&amp;nbsp; _RTCSPCB_init = 4;&lt;/P&gt;&lt;P&gt;&amp;nbsp; _RTCSPCB_grow = 2;&lt;/P&gt;&lt;P&gt;&amp;nbsp; _RTCSPCB_max = 6;&lt;/P&gt;&lt;P&gt;&amp;nbsp; _RTCS_msgpool_init = 4;&lt;/P&gt;&lt;P&gt;&amp;nbsp; _RTCS_msgpool_grow = 2;&lt;/P&gt;&lt;P&gt;&amp;nbsp; _RTCS_msgpool_max&amp;nbsp; = 8;&lt;/P&gt;&lt;P&gt;&amp;nbsp; _RTCS_socket_part_init = 4;&lt;/P&gt;&lt;P&gt;&amp;nbsp; _RTCS_socket_part_grow = 2;&lt;/P&gt;&lt;P&gt;&amp;nbsp; _RTCS_socket_part_max&amp;nbsp; = 6;&lt;/P&gt;&lt;P&gt;&amp;nbsp; _RTCSTASK_stacksize = 2200;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; error = RTCS_create();&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; ENET_get_mac_address(DEMOCFG_DEFAULT_DEVICE, ENET_IPADDR, sMacAddress);&lt;/P&gt;&lt;P&gt;&amp;nbsp; sUerror = ENET_initialize(DEMOCFG_DEFAULT_DEVICE,sMacAddress, 0, &amp;amp;sEthernetHandle);&lt;/P&gt;&lt;P&gt;&amp;nbsp; if(sUerror!=ENET_OK)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; _task_block();&lt;/P&gt;&lt;P&gt;&amp;nbsp; sUerror = RTCS_if_add(sEthernetHandle, RTCS_IF_ENET, &amp;amp;sRTCSHandle);&lt;/P&gt;&lt;P&gt;&amp;nbsp; if(sUerror!=RTCS_OK)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; _task_block();&lt;/P&gt;&lt;P&gt;&amp;nbsp; sUerror = RTCS_if_bind(sRTCSHandle, ENET_IPADDR, ENET_IPMASK);&lt;/P&gt;&lt;P&gt;&amp;nbsp; if(sUerror!=RTCS_OK)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; _task_block();&lt;/P&gt;&lt;P&gt;&amp;nbsp; // Config du gateway address&lt;/P&gt;&lt;P&gt;&amp;nbsp; /*sUerror = RTCS_gate_add(ENET_IPGATEWAY, INADDR_ANY, INADDR_ANY);&lt;/P&gt;&lt;P&gt;&amp;nbsp; if(sUerror!=RTCS_OK)&lt;/P&gt;&lt;P&gt;&amp;nbsp; _task_block();*/&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; sSocketHndl = socket(PF_INET, SOCK_DGRAM, 0);&lt;/P&gt;&lt;P&gt;&amp;nbsp; if(sSocketHndl == RTCS_SOCKET_ERROR)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; _task_block();&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; sLocalAddr.sin_family = AF_INET;&lt;/P&gt;&lt;P&gt;&amp;nbsp; sLocalAddr.sin_port = 10;&lt;/P&gt;&lt;P&gt;&amp;nbsp; sLocalAddr.sin_addr.s_addr = IPADDR(157,26,100,93);//INADDR_ANY;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; sUerror = bind(sSocketHndl, &amp;amp;sLocalAddr, sizeof(sLocalAddr));&lt;/P&gt;&lt;P&gt;&amp;nbsp; if(sUerror != RTCS_OK)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; _task_block();&lt;/P&gt;&lt;P&gt;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp; sListenSocketHndl=sSocketHndl;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; sRemoteTxAddr.sin_family = AF_INET;&lt;/P&gt;&lt;P&gt;&amp;nbsp; sRemoteTxAddr.sin_port = 8;&lt;/P&gt;&lt;P&gt;&amp;nbsp; sRemoteTxAddr.sin_addr.s_addr = IPADDR(157,26,100,78);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; sUerror=connect(sListenSocketHndl, &amp;amp;sRemoteTxAddr, sizeof(sRemoteTxAddr));&lt;/P&gt;&lt;P&gt;&amp;nbsp; if(sUerror != RTCS_OK)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; _task_block();&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; while(1)&lt;/P&gt;&lt;P&gt;&amp;nbsp; {&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; sSocketHndl = RTCS_selectall(0);&lt;/P&gt;&lt;P&gt;&amp;nbsp; if(sSocketHndl == RTCS_SOCKET_ERROR)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; _task_block();&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; if(sSocketHndl==sListenSocketHndl)&lt;/P&gt;&lt;P&gt;&amp;nbsp; {&lt;/P&gt;&lt;P&gt;&amp;nbsp; memset(&amp;amp;sRemoteRxAddr, 0, sizeof(sRemoteRxAddr));&lt;/P&gt;&lt;P&gt;&amp;nbsp; memset(&amp;amp;sUdpRemoteBuffer,0, kUDP_BUF_LEN); //clean out buffer&lt;/P&gt;&lt;P&gt;&amp;nbsp; sRemoteRxLengh = sizeof(sRemoteRxAddr);&lt;/P&gt;&lt;P&gt;&amp;nbsp; sNbOfByteReceived = recvfrom(sSocketHndl, sUdpRemoteBuffer, kUDP_BUF_LEN, 0, &amp;amp;sRemoteRxAddr, &amp;amp;sRemoteRxLengh);&lt;/P&gt;&lt;P&gt;&amp;nbsp; if (sNbOfByteReceived == RTCS_ERROR)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; _task_block();&lt;/P&gt;&lt;P&gt;&amp;nbsp; sRemoteRxAddr.sin_addr.s_addr=INADDR_BROADCAST;&lt;/P&gt;&lt;P&gt;&amp;nbsp; sRemoteRxLengh = sizeof(sRemoteRxLengh);&lt;/P&gt;&lt;P&gt;&amp;nbsp; sNbOfByteTransmit = sendto(sSocketHndl,"Fuck hackers",13,RTCS_MSG_NOLOOP,&amp;amp;sRemoteRxAddr, sRemoteRxLengh);&lt;/P&gt;&lt;P&gt;&amp;nbsp; if (sNbOfByteTransmit == RTCS_ERROR)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; _task_block();&lt;/P&gt;&lt;P&gt;&amp;nbsp; }&lt;/P&gt;&lt;P&gt;&amp;nbsp; }&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;&lt;SPAN class="mce_paste_marker"&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 09 Nov 2012 09:39:51 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MQX-Software-Solutions/Simple-UDP-communication/m-p/170663#M1904</guid>
      <dc:creator>sergemonnerat</dc:creator>
      <dc:date>2012-11-09T09:39:51Z</dc:date>
    </item>
    <item>
      <title>Re: Simple UDP communication</title>
      <link>https://community.nxp.com/t5/MQX-Software-Solutions/Simple-UDP-communication/m-p/170664#M1905</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Some time ago I developed this code about a UDP Server. I am attaching here. I hope it helps you.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;You also may find useful the appnote:&lt;/P&gt;&lt;P&gt;&lt;A href="http://cache.freescale.com/files/32bit/doc/app_note/AN4644.pdf?fsrch=1&amp;amp;sr=3" title="http://cache.freescale.com/files/32bit/doc/app_note/AN4644.pdf?fsrch=1&amp;amp;sr=3"&gt;http://cache.freescale.com/files/32bit/doc/app_note/AN4644.pdf?fsrch=1&amp;amp;sr=3&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="http://cache.freescale.com/files/32bit/doc/app_note/AN4644SW.zip?fsrch=1&amp;amp;sr=3" title="http://cache.freescale.com/files/32bit/doc/app_note/AN4644SW.zip?fsrch=1&amp;amp;sr=3"&gt;http://cache.freescale.com/files/32bit/doc/app_note/AN4644SW.zip?fsrch=1&amp;amp;sr=3&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;-Garabo&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 31 Jan 2013 03:09:38 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MQX-Software-Solutions/Simple-UDP-communication/m-p/170664#M1905</guid>
      <dc:creator>Luis_Garabo</dc:creator>
      <dc:date>2013-01-31T03:09:38Z</dc:date>
    </item>
  </channel>
</rss>

