Using this code to start and stop a session:

session_start(Port) :-
        socket('AF_INET', S),
        socket_bind(S, 'AF_INET'(localhost, Port)),
        socket_listen(S, 0),
        socket_accept(S, Client, In, Out),
        format(Out, "~n~n>> Welcome to SKYNET, ~w~n", [Client]),
        cmd_loop(In, Out),
        close(In),close(Out),socket_close(S),
        format("Clean close~n", []).

I've done lots of socket coding with PHP and C/C++ and usually the safest bet 
is to get the client to terminate the connection first to avoid and issues 
within the TCP driver regarding wait states and things but being new to prolog 
still I wonder if I've done something silly in my code that I can't see?

I am using telnet to connect, all foes well until I type "bye". The program 
terminates, tells me it was a clean close but when I try to run again:

session_start(10000).
uncaught exception: error(system_error('Address already in use'),socket_bind/2)

Bummer.

Any suggestions?

_______________________________________________
Users-prolog mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/users-prolog

Reply via email to