[Libwebsockets] Error 98 on binding port (Nios II)

Andy Green andy at warmcat.com
Wed Apr 2 15:22:53 CEST 2014

On 04/02/2014 09:12 PM, Simone Maccanti wrote:
> Yep you are right.
> #netstat shows the port 55554 still in status LISTEN... after i killed
> the server, interesting.

If you exit the server normally and call the destroy context callback, 
it should close the listen socket.

Even if you don't close it nicely, Linux shouldn't have the idea of a 
socket open and listening with no owning process anyway, sounds like 
it's some issue with uclinux.

TIME_WAIT is different, it's not listening and accepting new connections 
like that.


> 2014-04-01 18:39 GMT-04:00 Andy Green <andy at warmcat.com
> <mailto:andy at warmcat.com>>:
>     On 04/02/2014 04:24 AM, Simone Maccanti wrote:
>         Hello guys.
>         First of all thanks for this great library!
>         I'm trying to port libwebsockets to uCLinux (Board with Nios II)
>         for use
>     Cool, this kind of platform is what I originally had in mind for
>     very resource-constrained and unthreaded case for lws.
>         Websockets and speed up some data published by the Board web
>         page... so
>         I'm doing some experiments. I've built the lib and everything seems
>         fine, then i've build a simple server using Test-server.c for try to
>         communicate to a simple web page.
>         The default port is the 55554 instead of 7681, but every time i
>         start
>         the server (Test-server.c) libwebsocket_create_context fails
>         with error
>         98 (bind: Address already in use). Starting the server with
>         another port
>         (using the option --port) for example 55555, works.
>         The 55554 is not used of course and i can change it with another
>         port:
>         same results, it fails.
>         Seems an issue about how the socket is open and only the first time.
>         Any idea?
>     If you look with netstat -pln after running and killing the server
>     the first time, you may see the listen port in TIME_WAIT state still.
>     lws changes the listen socket attribute to allow treading on that
>     with a subsequent session listening on the same socket, but it seems
>     that is broken on uclinux somehow.
>     -Andy
>         Thanks.
>         _________________________________________________
>         Libwebsockets mailing list
>         Libwebsockets at ml.__libwebsockets.org
>         <mailto:Libwebsockets at ml.libwebsockets.org>
>         http://ml.libwebsockets.org/__mailman/listinfo/libwebsockets
>         <http://ml.libwebsockets.org/mailman/listinfo/libwebsockets>

More information about the Libwebsockets mailing list