-->
Page 1 of 1

TCP server code - include files

PostPosted: Tue Jun 07, 2016 5:36 am
by JosePedro
Hey all!

I'm trying to write a TCP server program for the ESP8266 and I'm following the ESP8266 RTOS SDK 1.4.0 Programming Guide to do so. The Guide offers several snippets of code which, regarding simple TCP sockets, appear to be quite similar to the way TCP sockets are created/used in standard C.

However, I'm having trouble finding the correct include files to declare in my program.

Take this snippet, for example:
Code: Select allstruct sockaddr_in server_addr;
memset(&server_addr, 0, sizeof(server_addr));
server_addr.sin_family = AF_INET;
server_addr.sin_addr.s_addr = INADDR_ANY;
server_addr.sin_port = htons(26000);
server_addr.sin_len = sizeof(server_addr);


In this case, declarations regarding the 'server_addr' structure and the 'AF_INET' / 'INADDR_ANY' are missing.
I've searched through the available include files and the one that seemed most appropriate was 'lwip/sockets.h'.
However, I noticed the following line on the top of the include file:

Code: Select all#if LWIP_SOCKET /* don't build if not configured for use in lwipopts.h */


LWIP_SOCKET is defined as 0 and as a result, pretty much nothing gets included. I've also noticed this in a lot of different include files, so I'm guessing simply re-defining 'LWIP_SOCKET' isn't really a smart idea.

Should I include other files instead?

My apologies in advance if this isn't the place for such questions. I'm still a newbie with the ESP8266!
Thanks in advance.

Re: TCP server code - include files

PostPosted: Tue Jun 07, 2016 12:00 pm
by JosePedro
After a few blind attempts, I was able to solve the issue.
All that was needed was to add the (possibly missing) include path 'esp-open-sdk/sdk/include' in the project's include folders (I'm using Eclipse Luna by the way!).

My apologies for the post in the first place!
Best regards.

Re: TCP server code - include files

PostPosted: Tue Jun 07, 2016 12:37 pm
by Me-no-dev
You can find the lwip source for RTOS (I think it's even included in the SDK) and rebuild the lib with sockets enabled. Hopefully that will be sufficient :)