<?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: MQX v4.2+RTCS simultaneous port connections in MQX Software Solutions</title>
    <link>https://community.nxp.com/t5/MQX-Software-Solutions/MQX-v4-2-RTCS-simultaneous-port-connections/m-p/868047#M18099</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;So after another 6 hours of debugging, it turns out the code does works and the problem is with Hyperterminal.&amp;nbsp; I'm running W10 with W7 Hyperterminal and not seeing an attempt to connect to a second port while another port is open.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Too bad I trusted Windows and assumed it was a code problem on my side.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Sun, 17 Feb 2019 13:04:48 GMT</pubDate>
    <dc:creator>philroth</dc:creator>
    <dc:date>2019-02-17T13:04:48Z</dc:date>
    <item>
      <title>MQX v4.2+RTCS simultaneous port connections</title>
      <link>https://community.nxp.com/t5/MQX-Software-Solutions/MQX-v4-2-RTCS-simultaneous-port-connections/m-p/868046#M18098</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I have multiple threads of the function below and can only connect to 1 port at a time.&amp;nbsp; I'm testing this code by running Hyperterminal on a PC and simply connecting and disconnecting the port. Each port works, each thread works, but I must close the open port on Hyperterminal before I can connect to the other port and verse visa. I've read about a bunch of other ways to support multiple ports, using select( ) and scanning through a list of sockets, but I'd like to get this to work.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Not sure if I have something configured improperly with MQX or RTCS or I'm just doing something silly with my code. This same approach worked with Nucleus OS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Again, not trying to get advice on how to do it differently unless what I'm trying ain't gonna work, just trying to figure out why this approach isn't working.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Any help appreciated....&lt;/P&gt;&lt;P&gt;Thank You&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;void tcp_task (uint32 channel)&lt;BR /&gt;{&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;char &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;str[80];&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; int &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;err;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; uint32 &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;option;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; uint32 &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;count;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; sockaddr&amp;nbsp;&amp;nbsp;&amp;nbsp; addr;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; uint32 &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;listen_sock;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; uint32 &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;client_sock;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; rtcs_fd_set rfds;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;CHANNEL_PTR p = com_ptrs[channel];&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;/* Prepare socket for incoming connections */&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;listen_sock = socket(PF_INET, SOCK_STREAM, 4);&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;option = SERIAL_SOCKET_BUFFER_SIZE;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;(void) setsockopt(listen_sock, SOL_TCP, OPT_TBSIZE, &amp;amp;option, sizeof(option));&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;(void) setsockopt(listen_sock, SOL_TCP, OPT_RBSIZE, &amp;amp;option, sizeof(option));&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;((sockaddr_in*) &amp;amp;addr)-&amp;gt;sin_family = AF_INET;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;((sockaddr_in*) &amp;amp;addr)-&amp;gt;sin_port = ports[channel-TCP1];&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;((sockaddr_in*) &amp;amp;addr)-&amp;gt;sin_addr.s_addr = INADDR_ANY;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;bind(listen_sock, &amp;amp;addr, sizeof(addr));&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;listen(listen_sock, 0);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;RTCS_FD_ZERO(&amp;amp;rfds);&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;RTCS_FD_SET(listen_sock,&amp;amp;rfds);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;while(1) {&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;_time_delay_ticks(1);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Accept incoming connection */&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;client_sock = accept(listen_sock, NULL, NULL);&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;if(client_sock == RTCS_SOCKET_ERROR)&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;continue;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Set socket option OPT_RECEIVE_NOWAIT = TRUE */&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; option = TRUE;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; setsockopt(client_sock, SOL_TCP, OPT_RECEIVE_NOWAIT, &amp;amp;option, sizeof(option));&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;status[channel] = CONNECTED;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 16 Feb 2019 23:50:37 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MQX-Software-Solutions/MQX-v4-2-RTCS-simultaneous-port-connections/m-p/868046#M18098</guid>
      <dc:creator>philroth</dc:creator>
      <dc:date>2019-02-16T23:50:37Z</dc:date>
    </item>
    <item>
      <title>Re: MQX v4.2+RTCS simultaneous port connections</title>
      <link>https://community.nxp.com/t5/MQX-Software-Solutions/MQX-v4-2-RTCS-simultaneous-port-connections/m-p/868047#M18099</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;So after another 6 hours of debugging, it turns out the code does works and the problem is with Hyperterminal.&amp;nbsp; I'm running W10 with W7 Hyperterminal and not seeing an attempt to connect to a second port while another port is open.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Too bad I trusted Windows and assumed it was a code problem on my side.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sun, 17 Feb 2019 13:04:48 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MQX-Software-Solutions/MQX-v4-2-RTCS-simultaneous-port-connections/m-p/868047#M18099</guid>
      <dc:creator>philroth</dc:creator>
      <dc:date>2019-02-17T13:04:48Z</dc:date>
    </item>
  </channel>
</rss>

