<?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>MQX Software SolutionsのトピックSocket Communication MQX 4.1</title>
    <link>https://community.nxp.com/t5/MQX-Software-Solutions/Socket-Communication-MQX-4-1/m-p/385423#M12837</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'm working on a TWRK70 kit, with MQX 4.1. I trying to communicate via socket using mqx. But when I build the project, appears an error at project level, on one of the header used, not at my code.&lt;/P&gt;&lt;P&gt;I will paste here the code and some images. &lt;/P&gt;&lt;P&gt;Code: &lt;/P&gt;&lt;P&gt;main.h:&lt;/P&gt;&lt;PRE __default_attr="c++" __jive_macro_name="code" class="jive_text_macro _jivemacro_uid_14130398628108380 jive_macro_code" jivemacro_uid="_14130398628108380" modifiedtitle="true"&gt;
&lt;P&gt;#ifndef __main_h_&lt;/P&gt;
&lt;P&gt;#define __main_h_&lt;/P&gt;
&lt;P&gt;#include &amp;lt;mqx.h&amp;gt;&lt;/P&gt;
&lt;P&gt;#include &amp;lt;bsp.h&amp;gt;&lt;/P&gt;
&lt;P&gt;#include &amp;lt;rtcs/rtcs_sock.h&amp;gt;&lt;/P&gt;
&lt;P&gt;#include &amp;lt;rtcs/socket.h&amp;gt;&lt;/P&gt;
&lt;P&gt;#include &amp;lt;rtcs/rtcs.h&amp;gt;&lt;/P&gt;
&lt;P&gt;#include &amp;lt;rtcs/rtcscfg.h&amp;gt;&lt;/P&gt;
&lt;P&gt;#include &amp;lt;enet.h&amp;gt;&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;#define MAIN_TASK 1&lt;/P&gt;
&lt;P&gt;#define SERVER_TASK 2&lt;/P&gt;
&lt;P&gt;#define CLIENT_TASK 3&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;extern void main_task(uint32_t);&lt;/P&gt;
&lt;P&gt;extern void server_task(uint32_t);&lt;/P&gt;
&lt;P&gt;extern void client_task(uint32_t);&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;/* PPP device must be set manually and &lt;/P&gt;
&lt;P&gt;** must be different from the default IO channel (BSP_DEFAULT_IO_CHANNEL) &lt;/P&gt;
&lt;P&gt;*/&lt;/P&gt;
&lt;P&gt;#define PPP_DEVICE&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "ittyb:" &lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;/*&lt;/P&gt;
&lt;P&gt;** Define PPP_DEVICE_DUN only when using PPP to communicate&lt;/P&gt;
&lt;P&gt;** to Win9x Dial-Up Networking over a null-modem&lt;/P&gt;
&lt;P&gt;** This is ignored if PPP_DEVICE is not #define'd&lt;/P&gt;
&lt;P&gt;*/&lt;/P&gt;
&lt;P&gt;#define PPP_DEVICE_DUN&amp;nbsp; 1&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;/*&lt;/P&gt;
&lt;P&gt;** Define the local and remote IP addresses for the PPP link&lt;/P&gt;
&lt;P&gt;** These are ignored if PPP_DEVICE is not #define'd&lt;/P&gt;
&lt;P&gt;*/&lt;/P&gt;
&lt;P&gt;#define PPP_LOCADDR&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; IPADDR(192,168,0,216)&lt;/P&gt;
&lt;P&gt;#define PPP_PEERADDR&amp;nbsp;&amp;nbsp;&amp;nbsp; IPADDR(192,168,0,217)&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;/*&lt;/P&gt;
&lt;P&gt;** Define a default gateway&lt;/P&gt;
&lt;P&gt;*/&lt;/P&gt;
&lt;P&gt;#define GATE_ADDR&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; IPADDR(192,168,0,1)&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;#endif /* __main_h_ */&lt;/P&gt;
&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;main.c:&lt;/P&gt;&lt;PRE __default_attr="c++" __jive_macro_name="code" class="jive_text_macro _jivemacro_uid_14130399092553121 jive_macro_code" jivemacro_uid="_14130399092553121"&gt;
&lt;P&gt;/****************************************************************************&lt;/P&gt;
&lt;P&gt;* &lt;/P&gt;
&lt;P&gt;*&amp;nbsp;&amp;nbsp; This file contains MQX only stationery code.&lt;/P&gt;
&lt;P&gt;*&lt;/P&gt;
&lt;P&gt;****************************************************************************/&lt;/P&gt;
&lt;P&gt;#include "main.h"&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;#if !BSPCFG_ENABLE_IO_SUBSYSTEM&lt;/P&gt;
&lt;P&gt;#error This application requires BSPCFG_ENABLE_IO_SUBSYSTEM defined non-zero in user_config.h. Please recompile BSP with this option.&lt;/P&gt;
&lt;P&gt;#endif&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;#ifndef BSP_DEFAULT_IO_CHANNEL_DEFINED&lt;/P&gt;
&lt;P&gt;#error This application requires BSP_DEFAULT_IO_CHANNEL to be not NULL. Please set corresponding BSPCFG_ENABLE_TTYx to non-zero in user_config.h and recompile BSP with this option.&lt;/P&gt;
&lt;P&gt;#endif&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;TASK_TEMPLATE_STRUCT MQX_template_list[] = &lt;/P&gt;
&lt;P&gt;{ &lt;/P&gt;
&lt;P&gt;/*&amp;nbsp; Task number, Entry point, Stack, Pri, String, Auto? */&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp; {MAIN_TASK,&amp;nbsp;&amp;nbsp; main_task,&amp;nbsp;&amp;nbsp; 1500,&amp;nbsp; 9,&amp;nbsp;&amp;nbsp; "main", MQX_AUTO_START_TASK,0,0},&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp; {SERVER_TASK,&amp;nbsp;&amp;nbsp; server_task,&amp;nbsp;&amp;nbsp; 1500,&amp;nbsp; 9,&amp;nbsp;&amp;nbsp; "server", MQX_TIME_SLICE_TASK ,0,3},&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp; {CLIENT_TASK,&amp;nbsp;&amp;nbsp; client_task,&amp;nbsp;&amp;nbsp; 1500,&amp;nbsp; 9,&amp;nbsp;&amp;nbsp; "client", MQX_TIME_SLICE_TASK ,0,3},&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp; {0,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0,&amp;nbsp;&amp;nbsp; 0,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0,&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;&amp;nbsp; }&lt;/P&gt;
&lt;P&gt;};&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&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;* Task Name&amp;nbsp;&amp;nbsp;&amp;nbsp; : Main_task&lt;/P&gt;
&lt;P&gt;* Comments&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; :&lt;/P&gt;
&lt;P&gt;*&amp;nbsp;&amp;nbsp;&amp;nbsp; This task prints " Hello World "&lt;/P&gt;
&lt;P&gt;*&lt;/P&gt;
&lt;P&gt;*END*-----------------------------------------------------*/&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;void main_task(uint32_t initial_data)&lt;/P&gt;
&lt;P&gt;{&lt;/P&gt;
&lt;P&gt;&amp;nbsp; printf("Arrancamos...&amp;nbsp; \n");&lt;/P&gt;
&lt;P&gt;&amp;nbsp; _task_create(0,SERVER_TASK,0);&lt;/P&gt;
&lt;P&gt;&amp;nbsp; RTCS_create();&lt;/P&gt;
&lt;P&gt;&amp;nbsp; _task_block();&lt;/P&gt;
&lt;P&gt;}&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;* Task Name&amp;nbsp;&amp;nbsp;&amp;nbsp; : server_task&lt;/P&gt;
&lt;P&gt;* Comments&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; :&lt;/P&gt;
&lt;P&gt;*&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;&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;void server_task(uint32_t initial_data)&lt;/P&gt;
&lt;P&gt;{&lt;/P&gt;
&lt;P&gt;&amp;nbsp; sockaddr_in laddr,raddr;&lt;/P&gt;
&lt;P&gt;&amp;nbsp; uint32_t sock, newsock;&lt;/P&gt;
&lt;P&gt;&amp;nbsp; int32_t length;&lt;/P&gt;
&lt;P&gt;&amp;nbsp; uint32_t index;&lt;/P&gt;
&lt;P&gt;&amp;nbsp; uint32_t error;&lt;/P&gt;
&lt;P&gt;&amp;nbsp; uint16_t rlen;&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp; laddr.sin_family = AF_INET;&lt;/P&gt;
&lt;P&gt;&amp;nbsp; laddr.sin_port = 2000;&lt;/P&gt;
&lt;P&gt;&amp;nbsp; laddr.sin_addr.s_addr = INADDR_ANY;&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp; /* Create a stream socket: */&lt;/P&gt;
&lt;P&gt;&amp;nbsp; sock = socket(PF_INET, SOCK_STREAM, 0);&lt;/P&gt;
&lt;P&gt;&amp;nbsp; if (sock == RTCS_SOCKET_ERROR) {&lt;/P&gt;
&lt;P&gt;&amp;nbsp; printf("\nFailed to create the stream socket.");&lt;/P&gt;
&lt;P&gt;&amp;nbsp; _task_block();&lt;/P&gt;
&lt;P&gt;&amp;nbsp; }&lt;/P&gt;
&lt;P&gt;&amp;nbsp; /* Bind the stream socket to a TCP port: */&lt;/P&gt;
&lt;P&gt;&amp;nbsp; error = bind(sock, &amp;amp;laddr, sizeof(laddr));&lt;/P&gt;
&lt;P&gt;&amp;nbsp; if (error != RTCS_OK) {&lt;/P&gt;
&lt;P&gt;&amp;nbsp; printf("\nFailed to bind the stream socket - 0x%lx", error);&lt;/P&gt;
&lt;P&gt;&amp;nbsp; _task_block();&lt;/P&gt;
&lt;P&gt;&amp;nbsp; }&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp; /* Set up the stream socket to listen on the TCP port: */&lt;/P&gt;
&lt;P&gt;&amp;nbsp; error = listen(sock, 0);&lt;/P&gt;
&lt;P&gt;&amp;nbsp; if (error != RTCS_OK) {&lt;/P&gt;
&lt;P&gt;&amp;nbsp; printf("\nlisten() failed - 0x%lx", error);&lt;/P&gt;
&lt;P&gt;&amp;nbsp; _task_block();&lt;/P&gt;
&lt;P&gt;&amp;nbsp; }&lt;/P&gt;
&lt;P&gt;&amp;nbsp; printf("\n\nQuote Server activo en puerto 2000.\n");&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp; _task_create(0,CLIENT_TASK,0);&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp; rlen = sizeof(raddr);&lt;/P&gt;
&lt;P&gt;&amp;nbsp; newsock = accept(sock,&amp;amp;raddr,&amp;amp;rlen);&lt;/P&gt;
&lt;P&gt;&amp;nbsp; if (newsock == RTCS_SOCKET_ERROR) {&lt;/P&gt;
&lt;P&gt;&amp;nbsp; printf("\naccept() fallo, error 0x%lx",&lt;/P&gt;
&lt;P&gt;&amp;nbsp; RTCS_geterror(newsock));&lt;/P&gt;
&lt;P&gt;&amp;nbsp; continue;&lt;/P&gt;
&lt;P&gt;&amp;nbsp; }&lt;/P&gt;
&lt;P&gt;&amp;nbsp; char *buf = malloc(50*sizeof(char));&lt;/P&gt;
&lt;P&gt;&amp;nbsp; recv(newsock,buf,sizeof(buf),0);&lt;/P&gt;
&lt;P&gt;&amp;nbsp; _time_delay(1000);&lt;/P&gt;
&lt;P&gt;&amp;nbsp; printf("dato recibido: %s\n",buf);&lt;/P&gt;
&lt;P&gt;&amp;nbsp; shutdown(newsock,FLAG_CLOSE_TX);&lt;/P&gt;
&lt;P&gt;&amp;nbsp; _task_block();&lt;/P&gt;
&lt;P&gt;}&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;* Task Name&amp;nbsp;&amp;nbsp;&amp;nbsp; : client_task&lt;/P&gt;
&lt;P&gt;* Comments&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; :&lt;/P&gt;
&lt;P&gt;*&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;&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;void client_task(uint32_t initial_data)&lt;/P&gt;
&lt;P&gt;{&lt;/P&gt;
&lt;P&gt;&amp;nbsp; sockaddr_in raddr;&lt;/P&gt;
&lt;P&gt;&amp;nbsp; uint32_t sock;&lt;/P&gt;
&lt;P&gt;&amp;nbsp; int32_t length;&lt;/P&gt;
&lt;P&gt;&amp;nbsp; uint32_t index;&lt;/P&gt;
&lt;P&gt;&amp;nbsp; uint32_t error;&lt;/P&gt;
&lt;P&gt;&amp;nbsp; uint16_t rlen;&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp; sock = socket(PF_INET,SOCK_STREAM,0);&lt;/P&gt;
&lt;P&gt;&amp;nbsp; if (sock == RTCS_SOCKET_ERROR) {&lt;/P&gt;
&lt;P&gt;&amp;nbsp; printf("\nFallo al crear stream socket en cliente.");&lt;/P&gt;
&lt;P&gt;&amp;nbsp; _task_block();&lt;/P&gt;
&lt;P&gt;&amp;nbsp; }&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp; raddr.sin_family = AF_INET;&lt;/P&gt;
&lt;P&gt;&amp;nbsp; raddr.sin_port = 2000;&lt;/P&gt;
&lt;P&gt;&amp;nbsp; raddr.sin_addr.s_addr = INADDR_ANY;&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp; rlen = sizeof(raddr);&lt;/P&gt;
&lt;P&gt;&amp;nbsp; error = connect(sock,&amp;amp;raddr,&amp;amp;rlen);&lt;/P&gt;
&lt;P&gt;&amp;nbsp; if(error != RTCS_OK){&lt;/P&gt;
&lt;P&gt;&amp;nbsp; printf("\nError al conectar.");&lt;/P&gt;
&lt;P&gt;&amp;nbsp; _task_block();&lt;/P&gt;
&lt;P&gt;&amp;nbsp; }&lt;/P&gt;
&lt;P&gt;&amp;nbsp; char *buf = malloc(50*sizeof(char));&lt;/P&gt;
&lt;P&gt;&amp;nbsp; buf = "Hola socket andando\n";&lt;/P&gt;
&lt;P&gt;&amp;nbsp; send(sock,buf,sizeof(buf),0);&lt;/P&gt;
&lt;P&gt;&amp;nbsp; _time_delay(1000);&lt;/P&gt;
&lt;P&gt;&amp;nbsp; printf("\nMensaje enviado \n");&lt;/P&gt;
&lt;P&gt;&amp;nbsp; _task_block();&lt;/P&gt;
&lt;P&gt;&amp;nbsp; /* Bind the stream socket to a TCP port: */&lt;/P&gt;
&lt;P&gt;&amp;nbsp; error = bind(sock, &amp;amp;laddr, sizeof(laddr));&lt;/P&gt;
&lt;P&gt;&amp;nbsp; if (error != RTCS_OK) {&lt;/P&gt;
&lt;P&gt;&amp;nbsp; printf("\nFailed to bind the stream socket - 0x%lx", error);&lt;/P&gt;
&lt;P&gt;&amp;nbsp; _task_block();&lt;/P&gt;
&lt;P&gt;&amp;nbsp; }&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp; /* Set up the stream socket to listen on the TCP port: */&lt;/P&gt;
&lt;P&gt;&amp;nbsp; error = listen(sock, 0);&lt;/P&gt;
&lt;P&gt;&amp;nbsp; if (error != RTCS_OK) {&lt;/P&gt;
&lt;P&gt;&amp;nbsp; printf("\nlisten() failed - 0x%lx", error);&lt;/P&gt;
&lt;P&gt;&amp;nbsp; _task_block();&lt;/P&gt;
&lt;P&gt;&amp;nbsp; }&lt;/P&gt;
&lt;P&gt;&amp;nbsp; printf("\n\nQuote Server activo en puerto 2000.\n");&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp; _task_create(0,CLIENT_TASK,0);&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp; rlen = sizeof(raddr);&lt;/P&gt;
&lt;P&gt;&amp;nbsp; newsock = accept(sock,&amp;amp;raddr,&amp;amp;rlen);&lt;/P&gt;
&lt;P&gt;&amp;nbsp; if (newsock == RTCS_SOCKET_ERROR) {&lt;/P&gt;
&lt;P&gt;&amp;nbsp; printf("\naccept() fallo, error 0x%lx",&lt;/P&gt;
&lt;P&gt;&amp;nbsp; RTCS_geterror(newsock));&lt;/P&gt;
&lt;P&gt;&amp;nbsp; continue;&lt;/P&gt;
&lt;P&gt;&amp;nbsp; }&lt;/P&gt;
&lt;P&gt;&amp;nbsp; char *buf = malloc(50*sizeof(char));&lt;/P&gt;
&lt;P&gt;&amp;nbsp; recv(newsock,buf,sizeof(buf),0);&lt;/P&gt;
&lt;P&gt;&amp;nbsp; _time_delay(1000);&lt;/P&gt;
&lt;P&gt;&amp;nbsp; printf("dato recibido: %s\n",buf);&lt;/P&gt;
&lt;P&gt;&amp;nbsp; shutdown(newsock,FLAG_CLOSE_TX);&lt;/P&gt;
&lt;P&gt;&amp;nbsp; _task_block();&lt;/P&gt;
&lt;P&gt;}&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;/* EOF */&lt;/P&gt;
&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;After I build this results appears:&lt;/P&gt;&lt;P&gt;&lt;SPAN class="lia-inline-image-display-wrapper" image-alt="imagen1.jpg"&gt;&lt;IMG alt="imagen1.jpg" src="https://community.nxp.com/t5/image/serverpage/image-id/46692iD29E9BEEA46453AE/image-size/large?v=v2&amp;amp;px=999" title="imagen1.jpg" /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class="lia-inline-image-display-wrapper" image-alt="imagen2.jpg"&gt;&lt;IMG alt="imagen2.jpg" src="https://community.nxp.com/t5/image/serverpage/image-id/46630i0254971BA81B4D23/image-size/large?v=v2&amp;amp;px=999" title="imagen2.jpg" /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class="lia-inline-image-display-wrapper" image-alt="imagen3.jpg"&gt;&lt;IMG alt="imagen3.jpg" src="https://community.nxp.com/t5/image/serverpage/image-id/46693iE16744940984C120/image-size/large?v=v2&amp;amp;px=999" title="imagen3.jpg" /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;Colud someone help me? Why it is not working?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks. Regards, &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Juan Manuel&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Mon, 02 Nov 2020 13:15:39 GMT</pubDate>
    <dc:creator>juanmanuelpanie</dc:creator>
    <dc:date>2020-11-02T13:15:39Z</dc:date>
    <item>
      <title>Socket Communication MQX 4.1</title>
      <link>https://community.nxp.com/t5/MQX-Software-Solutions/Socket-Communication-MQX-4-1/m-p/385423#M12837</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'm working on a TWRK70 kit, with MQX 4.1. I trying to communicate via socket using mqx. But when I build the project, appears an error at project level, on one of the header used, not at my code.&lt;/P&gt;&lt;P&gt;I will paste here the code and some images. &lt;/P&gt;&lt;P&gt;Code: &lt;/P&gt;&lt;P&gt;main.h:&lt;/P&gt;&lt;PRE __default_attr="c++" __jive_macro_name="code" class="jive_text_macro _jivemacro_uid_14130398628108380 jive_macro_code" jivemacro_uid="_14130398628108380" modifiedtitle="true"&gt;
&lt;P&gt;#ifndef __main_h_&lt;/P&gt;
&lt;P&gt;#define __main_h_&lt;/P&gt;
&lt;P&gt;#include &amp;lt;mqx.h&amp;gt;&lt;/P&gt;
&lt;P&gt;#include &amp;lt;bsp.h&amp;gt;&lt;/P&gt;
&lt;P&gt;#include &amp;lt;rtcs/rtcs_sock.h&amp;gt;&lt;/P&gt;
&lt;P&gt;#include &amp;lt;rtcs/socket.h&amp;gt;&lt;/P&gt;
&lt;P&gt;#include &amp;lt;rtcs/rtcs.h&amp;gt;&lt;/P&gt;
&lt;P&gt;#include &amp;lt;rtcs/rtcscfg.h&amp;gt;&lt;/P&gt;
&lt;P&gt;#include &amp;lt;enet.h&amp;gt;&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;#define MAIN_TASK 1&lt;/P&gt;
&lt;P&gt;#define SERVER_TASK 2&lt;/P&gt;
&lt;P&gt;#define CLIENT_TASK 3&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;extern void main_task(uint32_t);&lt;/P&gt;
&lt;P&gt;extern void server_task(uint32_t);&lt;/P&gt;
&lt;P&gt;extern void client_task(uint32_t);&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;/* PPP device must be set manually and &lt;/P&gt;
&lt;P&gt;** must be different from the default IO channel (BSP_DEFAULT_IO_CHANNEL) &lt;/P&gt;
&lt;P&gt;*/&lt;/P&gt;
&lt;P&gt;#define PPP_DEVICE&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "ittyb:" &lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;/*&lt;/P&gt;
&lt;P&gt;** Define PPP_DEVICE_DUN only when using PPP to communicate&lt;/P&gt;
&lt;P&gt;** to Win9x Dial-Up Networking over a null-modem&lt;/P&gt;
&lt;P&gt;** This is ignored if PPP_DEVICE is not #define'd&lt;/P&gt;
&lt;P&gt;*/&lt;/P&gt;
&lt;P&gt;#define PPP_DEVICE_DUN&amp;nbsp; 1&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;/*&lt;/P&gt;
&lt;P&gt;** Define the local and remote IP addresses for the PPP link&lt;/P&gt;
&lt;P&gt;** These are ignored if PPP_DEVICE is not #define'd&lt;/P&gt;
&lt;P&gt;*/&lt;/P&gt;
&lt;P&gt;#define PPP_LOCADDR&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; IPADDR(192,168,0,216)&lt;/P&gt;
&lt;P&gt;#define PPP_PEERADDR&amp;nbsp;&amp;nbsp;&amp;nbsp; IPADDR(192,168,0,217)&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;/*&lt;/P&gt;
&lt;P&gt;** Define a default gateway&lt;/P&gt;
&lt;P&gt;*/&lt;/P&gt;
&lt;P&gt;#define GATE_ADDR&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; IPADDR(192,168,0,1)&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;#endif /* __main_h_ */&lt;/P&gt;
&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;main.c:&lt;/P&gt;&lt;PRE __default_attr="c++" __jive_macro_name="code" class="jive_text_macro _jivemacro_uid_14130399092553121 jive_macro_code" jivemacro_uid="_14130399092553121"&gt;
&lt;P&gt;/****************************************************************************&lt;/P&gt;
&lt;P&gt;* &lt;/P&gt;
&lt;P&gt;*&amp;nbsp;&amp;nbsp; This file contains MQX only stationery code.&lt;/P&gt;
&lt;P&gt;*&lt;/P&gt;
&lt;P&gt;****************************************************************************/&lt;/P&gt;
&lt;P&gt;#include "main.h"&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;#if !BSPCFG_ENABLE_IO_SUBSYSTEM&lt;/P&gt;
&lt;P&gt;#error This application requires BSPCFG_ENABLE_IO_SUBSYSTEM defined non-zero in user_config.h. Please recompile BSP with this option.&lt;/P&gt;
&lt;P&gt;#endif&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;#ifndef BSP_DEFAULT_IO_CHANNEL_DEFINED&lt;/P&gt;
&lt;P&gt;#error This application requires BSP_DEFAULT_IO_CHANNEL to be not NULL. Please set corresponding BSPCFG_ENABLE_TTYx to non-zero in user_config.h and recompile BSP with this option.&lt;/P&gt;
&lt;P&gt;#endif&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;TASK_TEMPLATE_STRUCT MQX_template_list[] = &lt;/P&gt;
&lt;P&gt;{ &lt;/P&gt;
&lt;P&gt;/*&amp;nbsp; Task number, Entry point, Stack, Pri, String, Auto? */&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp; {MAIN_TASK,&amp;nbsp;&amp;nbsp; main_task,&amp;nbsp;&amp;nbsp; 1500,&amp;nbsp; 9,&amp;nbsp;&amp;nbsp; "main", MQX_AUTO_START_TASK,0,0},&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp; {SERVER_TASK,&amp;nbsp;&amp;nbsp; server_task,&amp;nbsp;&amp;nbsp; 1500,&amp;nbsp; 9,&amp;nbsp;&amp;nbsp; "server", MQX_TIME_SLICE_TASK ,0,3},&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp; {CLIENT_TASK,&amp;nbsp;&amp;nbsp; client_task,&amp;nbsp;&amp;nbsp; 1500,&amp;nbsp; 9,&amp;nbsp;&amp;nbsp; "client", MQX_TIME_SLICE_TASK ,0,3},&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp; {0,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0,&amp;nbsp;&amp;nbsp; 0,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0,&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;&amp;nbsp; }&lt;/P&gt;
&lt;P&gt;};&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&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;* Task Name&amp;nbsp;&amp;nbsp;&amp;nbsp; : Main_task&lt;/P&gt;
&lt;P&gt;* Comments&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; :&lt;/P&gt;
&lt;P&gt;*&amp;nbsp;&amp;nbsp;&amp;nbsp; This task prints " Hello World "&lt;/P&gt;
&lt;P&gt;*&lt;/P&gt;
&lt;P&gt;*END*-----------------------------------------------------*/&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;void main_task(uint32_t initial_data)&lt;/P&gt;
&lt;P&gt;{&lt;/P&gt;
&lt;P&gt;&amp;nbsp; printf("Arrancamos...&amp;nbsp; \n");&lt;/P&gt;
&lt;P&gt;&amp;nbsp; _task_create(0,SERVER_TASK,0);&lt;/P&gt;
&lt;P&gt;&amp;nbsp; RTCS_create();&lt;/P&gt;
&lt;P&gt;&amp;nbsp; _task_block();&lt;/P&gt;
&lt;P&gt;}&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;* Task Name&amp;nbsp;&amp;nbsp;&amp;nbsp; : server_task&lt;/P&gt;
&lt;P&gt;* Comments&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; :&lt;/P&gt;
&lt;P&gt;*&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;&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;void server_task(uint32_t initial_data)&lt;/P&gt;
&lt;P&gt;{&lt;/P&gt;
&lt;P&gt;&amp;nbsp; sockaddr_in laddr,raddr;&lt;/P&gt;
&lt;P&gt;&amp;nbsp; uint32_t sock, newsock;&lt;/P&gt;
&lt;P&gt;&amp;nbsp; int32_t length;&lt;/P&gt;
&lt;P&gt;&amp;nbsp; uint32_t index;&lt;/P&gt;
&lt;P&gt;&amp;nbsp; uint32_t error;&lt;/P&gt;
&lt;P&gt;&amp;nbsp; uint16_t rlen;&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp; laddr.sin_family = AF_INET;&lt;/P&gt;
&lt;P&gt;&amp;nbsp; laddr.sin_port = 2000;&lt;/P&gt;
&lt;P&gt;&amp;nbsp; laddr.sin_addr.s_addr = INADDR_ANY;&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp; /* Create a stream socket: */&lt;/P&gt;
&lt;P&gt;&amp;nbsp; sock = socket(PF_INET, SOCK_STREAM, 0);&lt;/P&gt;
&lt;P&gt;&amp;nbsp; if (sock == RTCS_SOCKET_ERROR) {&lt;/P&gt;
&lt;P&gt;&amp;nbsp; printf("\nFailed to create the stream socket.");&lt;/P&gt;
&lt;P&gt;&amp;nbsp; _task_block();&lt;/P&gt;
&lt;P&gt;&amp;nbsp; }&lt;/P&gt;
&lt;P&gt;&amp;nbsp; /* Bind the stream socket to a TCP port: */&lt;/P&gt;
&lt;P&gt;&amp;nbsp; error = bind(sock, &amp;amp;laddr, sizeof(laddr));&lt;/P&gt;
&lt;P&gt;&amp;nbsp; if (error != RTCS_OK) {&lt;/P&gt;
&lt;P&gt;&amp;nbsp; printf("\nFailed to bind the stream socket - 0x%lx", error);&lt;/P&gt;
&lt;P&gt;&amp;nbsp; _task_block();&lt;/P&gt;
&lt;P&gt;&amp;nbsp; }&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp; /* Set up the stream socket to listen on the TCP port: */&lt;/P&gt;
&lt;P&gt;&amp;nbsp; error = listen(sock, 0);&lt;/P&gt;
&lt;P&gt;&amp;nbsp; if (error != RTCS_OK) {&lt;/P&gt;
&lt;P&gt;&amp;nbsp; printf("\nlisten() failed - 0x%lx", error);&lt;/P&gt;
&lt;P&gt;&amp;nbsp; _task_block();&lt;/P&gt;
&lt;P&gt;&amp;nbsp; }&lt;/P&gt;
&lt;P&gt;&amp;nbsp; printf("\n\nQuote Server activo en puerto 2000.\n");&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp; _task_create(0,CLIENT_TASK,0);&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp; rlen = sizeof(raddr);&lt;/P&gt;
&lt;P&gt;&amp;nbsp; newsock = accept(sock,&amp;amp;raddr,&amp;amp;rlen);&lt;/P&gt;
&lt;P&gt;&amp;nbsp; if (newsock == RTCS_SOCKET_ERROR) {&lt;/P&gt;
&lt;P&gt;&amp;nbsp; printf("\naccept() fallo, error 0x%lx",&lt;/P&gt;
&lt;P&gt;&amp;nbsp; RTCS_geterror(newsock));&lt;/P&gt;
&lt;P&gt;&amp;nbsp; continue;&lt;/P&gt;
&lt;P&gt;&amp;nbsp; }&lt;/P&gt;
&lt;P&gt;&amp;nbsp; char *buf = malloc(50*sizeof(char));&lt;/P&gt;
&lt;P&gt;&amp;nbsp; recv(newsock,buf,sizeof(buf),0);&lt;/P&gt;
&lt;P&gt;&amp;nbsp; _time_delay(1000);&lt;/P&gt;
&lt;P&gt;&amp;nbsp; printf("dato recibido: %s\n",buf);&lt;/P&gt;
&lt;P&gt;&amp;nbsp; shutdown(newsock,FLAG_CLOSE_TX);&lt;/P&gt;
&lt;P&gt;&amp;nbsp; _task_block();&lt;/P&gt;
&lt;P&gt;}&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;* Task Name&amp;nbsp;&amp;nbsp;&amp;nbsp; : client_task&lt;/P&gt;
&lt;P&gt;* Comments&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; :&lt;/P&gt;
&lt;P&gt;*&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;&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;void client_task(uint32_t initial_data)&lt;/P&gt;
&lt;P&gt;{&lt;/P&gt;
&lt;P&gt;&amp;nbsp; sockaddr_in raddr;&lt;/P&gt;
&lt;P&gt;&amp;nbsp; uint32_t sock;&lt;/P&gt;
&lt;P&gt;&amp;nbsp; int32_t length;&lt;/P&gt;
&lt;P&gt;&amp;nbsp; uint32_t index;&lt;/P&gt;
&lt;P&gt;&amp;nbsp; uint32_t error;&lt;/P&gt;
&lt;P&gt;&amp;nbsp; uint16_t rlen;&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp; sock = socket(PF_INET,SOCK_STREAM,0);&lt;/P&gt;
&lt;P&gt;&amp;nbsp; if (sock == RTCS_SOCKET_ERROR) {&lt;/P&gt;
&lt;P&gt;&amp;nbsp; printf("\nFallo al crear stream socket en cliente.");&lt;/P&gt;
&lt;P&gt;&amp;nbsp; _task_block();&lt;/P&gt;
&lt;P&gt;&amp;nbsp; }&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp; raddr.sin_family = AF_INET;&lt;/P&gt;
&lt;P&gt;&amp;nbsp; raddr.sin_port = 2000;&lt;/P&gt;
&lt;P&gt;&amp;nbsp; raddr.sin_addr.s_addr = INADDR_ANY;&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp; rlen = sizeof(raddr);&lt;/P&gt;
&lt;P&gt;&amp;nbsp; error = connect(sock,&amp;amp;raddr,&amp;amp;rlen);&lt;/P&gt;
&lt;P&gt;&amp;nbsp; if(error != RTCS_OK){&lt;/P&gt;
&lt;P&gt;&amp;nbsp; printf("\nError al conectar.");&lt;/P&gt;
&lt;P&gt;&amp;nbsp; _task_block();&lt;/P&gt;
&lt;P&gt;&amp;nbsp; }&lt;/P&gt;
&lt;P&gt;&amp;nbsp; char *buf = malloc(50*sizeof(char));&lt;/P&gt;
&lt;P&gt;&amp;nbsp; buf = "Hola socket andando\n";&lt;/P&gt;
&lt;P&gt;&amp;nbsp; send(sock,buf,sizeof(buf),0);&lt;/P&gt;
&lt;P&gt;&amp;nbsp; _time_delay(1000);&lt;/P&gt;
&lt;P&gt;&amp;nbsp; printf("\nMensaje enviado \n");&lt;/P&gt;
&lt;P&gt;&amp;nbsp; _task_block();&lt;/P&gt;
&lt;P&gt;&amp;nbsp; /* Bind the stream socket to a TCP port: */&lt;/P&gt;
&lt;P&gt;&amp;nbsp; error = bind(sock, &amp;amp;laddr, sizeof(laddr));&lt;/P&gt;
&lt;P&gt;&amp;nbsp; if (error != RTCS_OK) {&lt;/P&gt;
&lt;P&gt;&amp;nbsp; printf("\nFailed to bind the stream socket - 0x%lx", error);&lt;/P&gt;
&lt;P&gt;&amp;nbsp; _task_block();&lt;/P&gt;
&lt;P&gt;&amp;nbsp; }&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp; /* Set up the stream socket to listen on the TCP port: */&lt;/P&gt;
&lt;P&gt;&amp;nbsp; error = listen(sock, 0);&lt;/P&gt;
&lt;P&gt;&amp;nbsp; if (error != RTCS_OK) {&lt;/P&gt;
&lt;P&gt;&amp;nbsp; printf("\nlisten() failed - 0x%lx", error);&lt;/P&gt;
&lt;P&gt;&amp;nbsp; _task_block();&lt;/P&gt;
&lt;P&gt;&amp;nbsp; }&lt;/P&gt;
&lt;P&gt;&amp;nbsp; printf("\n\nQuote Server activo en puerto 2000.\n");&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp; _task_create(0,CLIENT_TASK,0);&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp; rlen = sizeof(raddr);&lt;/P&gt;
&lt;P&gt;&amp;nbsp; newsock = accept(sock,&amp;amp;raddr,&amp;amp;rlen);&lt;/P&gt;
&lt;P&gt;&amp;nbsp; if (newsock == RTCS_SOCKET_ERROR) {&lt;/P&gt;
&lt;P&gt;&amp;nbsp; printf("\naccept() fallo, error 0x%lx",&lt;/P&gt;
&lt;P&gt;&amp;nbsp; RTCS_geterror(newsock));&lt;/P&gt;
&lt;P&gt;&amp;nbsp; continue;&lt;/P&gt;
&lt;P&gt;&amp;nbsp; }&lt;/P&gt;
&lt;P&gt;&amp;nbsp; char *buf = malloc(50*sizeof(char));&lt;/P&gt;
&lt;P&gt;&amp;nbsp; recv(newsock,buf,sizeof(buf),0);&lt;/P&gt;
&lt;P&gt;&amp;nbsp; _time_delay(1000);&lt;/P&gt;
&lt;P&gt;&amp;nbsp; printf("dato recibido: %s\n",buf);&lt;/P&gt;
&lt;P&gt;&amp;nbsp; shutdown(newsock,FLAG_CLOSE_TX);&lt;/P&gt;
&lt;P&gt;&amp;nbsp; _task_block();&lt;/P&gt;
&lt;P&gt;}&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;/* EOF */&lt;/P&gt;
&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;After I build this results appears:&lt;/P&gt;&lt;P&gt;&lt;SPAN class="lia-inline-image-display-wrapper" image-alt="imagen1.jpg"&gt;&lt;IMG alt="imagen1.jpg" src="https://community.nxp.com/t5/image/serverpage/image-id/46692iD29E9BEEA46453AE/image-size/large?v=v2&amp;amp;px=999" title="imagen1.jpg" /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class="lia-inline-image-display-wrapper" image-alt="imagen2.jpg"&gt;&lt;IMG alt="imagen2.jpg" src="https://community.nxp.com/t5/image/serverpage/image-id/46630i0254971BA81B4D23/image-size/large?v=v2&amp;amp;px=999" title="imagen2.jpg" /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class="lia-inline-image-display-wrapper" image-alt="imagen3.jpg"&gt;&lt;IMG alt="imagen3.jpg" src="https://community.nxp.com/t5/image/serverpage/image-id/46693iE16744940984C120/image-size/large?v=v2&amp;amp;px=999" title="imagen3.jpg" /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;Colud someone help me? Why it is not working?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks. Regards, &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Juan Manuel&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 02 Nov 2020 13:15:39 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MQX-Software-Solutions/Socket-Communication-MQX-4-1/m-p/385423#M12837</guid>
      <dc:creator>juanmanuelpanie</dc:creator>
      <dc:date>2020-11-02T13:15:39Z</dc:date>
    </item>
    <item>
      <title>Re: Socket Communication MQX 4.1</title>
      <link>https://community.nxp.com/t5/MQX-Software-Solutions/Socket-Communication-MQX-4-1/m-p/385424#M12838</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I have taken a look to your code, you should review the way to link the libraries. In my code I have it in this way:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;#include &amp;lt;mqx.h&amp;gt;&lt;/P&gt;&lt;P&gt;#include &amp;lt;bsp.h&amp;gt;&lt;/P&gt;&lt;P&gt;#include &amp;lt;lwevent.h&amp;gt;&lt;/P&gt;&lt;P&gt;#include &amp;lt;message.h&amp;gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="text-decoration: underline;"&gt;&lt;STRONG&gt;#include &amp;lt;rtcs.h&amp;gt;&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Furthermore, I think you should review the input argument of the bind method. It should create at least 1 "child socket". Therefore, it will be &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;bind(sock_name,1);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Best regards.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 11 Oct 2014 19:37:06 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MQX-Software-Solutions/Socket-Communication-MQX-4-1/m-p/385424#M12838</guid>
      <dc:creator>juanandujar</dc:creator>
      <dc:date>2014-10-11T19:37:06Z</dc:date>
    </item>
    <item>
      <title>Re: Socket Communication MQX 4.1</title>
      <link>https://community.nxp.com/t5/MQX-Software-Solutions/Socket-Communication-MQX-4-1/m-p/385425#M12839</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Juan, &lt;/P&gt;&lt;P&gt;About libraries, I have CodeWarrior 10.1 and if I not put like I have (#include &amp;lt;rtcs/rtcs.h&amp;gt;), it no recognized it. Even more, I probe with out rtcs/ (#include &amp;lt;rtcs.h&amp;gt;) and an error appears sayin that the library does not exist. &lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 11 Oct 2014 20:59:07 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MQX-Software-Solutions/Socket-Communication-MQX-4-1/m-p/385425#M12839</guid>
      <dc:creator>juanmanuelpanie</dc:creator>
      <dc:date>2014-10-11T20:59:07Z</dc:date>
    </item>
    <item>
      <title>Re: Socket Communication MQX 4.1</title>
      <link>https://community.nxp.com/t5/MQX-Software-Solutions/Socket-Communication-MQX-4-1/m-p/385426#M12840</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Juan,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CW10.1 does not support MQX4.1 by default, you may need to make adjustments in the project settings such as source files paths, libraries paths and Windows environment variables. I strongly recommend to use CW10.6.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Do not forget to build MQX libraries (BSP and PSP) and also RTCS library. Make sure your project is including RTCS library in the linker settings of the project. You can take a look to Lab 1 in the post below.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="https://community.nxp.com/docs/DOC-102663"&gt;MQX Basics Training - 6 Tutorials (Labs) for MQX Begginers&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Best regards,&lt;/P&gt;&lt;P&gt;Carlos&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 29 Oct 2014 22:10:48 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MQX-Software-Solutions/Socket-Communication-MQX-4-1/m-p/385426#M12840</guid>
      <dc:creator>Carlos_Musich</dc:creator>
      <dc:date>2014-10-29T22:10:48Z</dc:date>
    </item>
  </channel>
</rss>

