|
From: Erick A. <alp...@lr...> - 2002-02-14 14:47:35
|
Hello,
I am trying to design a simple client-serveur example using sockets, but
the following one does not work. Could someone help me and tell me what
I did wrong? or could send me a working example?
Thanks a lot in advance for your help and time,
Best regards,
Erick.
Here's a typical session:
server side
1022# yap
[ Restoring file startup ]
[ YAP version Yap-4.3.20 ]
?- ['client-server.yap'].
[ consulting client-server.yap... ]
[ client-server.yap consulted 1924 bytes in 0 seconds ]
yes
?- server.
Connection established : Client -> 127.0.0.1
test
test
[ Syntax Error at line 3: system_error ]
[ SYSTEM ERROR- read in prolog:read/2 ]
?-
client side
1023# yap
[ Restoring file startup ]
[ YAP version Yap-4.3.20 ]
?- ['client-server.yap'].
[ consulting client-server.yap... ]
[ client-server.yap consulted 1924 bytes in 0 seconds ]
yes
?- client.
yes
?-
% client-server.yap
server :-
socket('AF_INET', Socket),
socket_bind(Socket, 'AF_INET'(_, 1729)),
socket_listen(Socket, 5),
socket_accept(Socket, Client, Stream),
write('Connection established : Client -> '),
write(Client),
nl,
repeat,
read(Stream,Term),
(Term==end_of_file
->
!
;
write(Term),nl,
fail),
close(Stream),
socket_close(Socket).
client :-
socket('AF_INET', Socket),
socket_connect(Socket, 'AF_INET'(localhost, 1729) , S),
format(S,"test.~n",[]),
format(S,"test.~n",[]),
format(S,"test.~n",[]),
format(S,"test.~n",[]),
format(S,"test.~n",[]),
format(S,"test.~n",[]),
close(S).
|