Some thoughts:

Your application should accept incoming requests so let's call it the
server. I would suggest to start out with a single TCP connection to get
familiar with the topic. As a simple example you could use the TCP echo
server (socket programming) found at
http://www.ultimaserial.com/classroom2.html

What your server task basically needs:

- implement a new task
- create a socket: socket()
- bind it to the local address: bind()
- set socket to listen mode: listen()
- accept incoming requests: accept()
- answer the request: send()

As soon as you get the example working you can go ahead with the other
connections. Either you implement a seperate task for each socket you need
or you could start more than one instance of the above task (e.g. pass the
internet address and socket number as function parameters to your
portTASK_FUNCTION).

To get familiar with FreeRTOS I recommend to purchase and read Richard
Barry's book
(http://www.freertos.org/Documentation/FreeRTOS-documentation-and-book.html)
Some information to get familiar with the BSD sockets interface from a link
found at lwIP Wiki (http://docs.hp.com/en/B2355-90136/)

Regards,
Mathias


  -----Ursprüngliche Nachricht-----
  Von: [email protected]
[mailto:[email protected]]im Auftrag von
Oscar F
  Gesendet: Dienstag, 8. September 2009 20:12
  An: Mailing list for lwIP users
  Betreff: [lwip-users] Re: More help with socket


  The second part is not correct because always my task have the control and
another task never enter.
  can i use the select option? with TCP connection and another idea to
listen about three socket and blocking while there isn´t data?

  Thanks again
  Oscar




  On Tue, Sep 8, 2009 at 7:59 PM, Oscar F <[email protected]> wrote:

    I know more data about the application. The connection is TCP, and i
have to open 6 socket, all of them unidirectional , 3 for request and 3 for
response.

    Logical links connection sequence

    logical links connection process shall be initiated by the PC unit: it
will connect sequentially (one after the other) all the logical links.

    At power-on/reset, the EVK1100 application shall first create the
sockets in order to be ready for accepting a connection in all of them.




    my first question is the function accept is blocking the code, because
i´ll do of this way




    -createsockets( ) (the six socket)


    -bind( ) the six socket


    -listen ( ) the six socket




    and then

    do {




    -accept ( ) for socket one

    if the answer is OK

    -accept () for the second one

    if the answer is OK

    ...


    -accept () for the six one

    if the answer is OK then fin=true








    }while (fin)





    is that correct?




    the next step is listen for 3 socket to request and this is my idea:







    do{




    if recv(socke1)

     {

      //process





    }





    if recv(socket2)

     {

      //process





    }








    if recv(socket3)

     {

      //process





    }








    }while (fin2)





    is a good idea?




    thanks for all

    Oscar





_______________________________________________
lwip-users mailing list
[email protected]
http://lists.nongnu.org/mailman/listinfo/lwip-users

Reply via email to