se:- 
	socket('AF_INET',X), g_assign(sock,X),
	socket_bind(X,'AF_INET'('acteon',1729)),
	socket_listen(X,4),
	a.

a:-
	g_read(sock,X),
	socket_accept(X,C,SI,SO), 
	SI='$stream'(NSI), g_assign(nsi,NSI),
	SO='$stream'(NSO), g_assign(nso,NSO),
	write(client(C)),nl.




cl:-
	socket('AF_INET',X), g_assign(sock,X),
	c.


c:-
	g_read(sock,X),
	socket_connect(X,'AF_INET'('acteon',1729),SI,SO), 
	SI='$stream'(NSI), g_assign(nsi,NSI),
	SO='$stream'(NSO), g_assign(nso,NSO).



w:- 
	g_read(nso,NSO),
	write('$stream'(NSO),'abc\n'),
	flush_output('$stream'(3)). 

r(X):- 
	g_read(nsi,NSI),
	read_token('$stream'(NSI),X).


end_se:-
	g_read(nsi,NSI), close('$stream'(NSI)),
	g_read(nso,NSO), close('$stream'(NSO)),
	socket_close(4).

end_c:-
	g_read(nsi,NSI), close('$stream'(NSI)),
	g_read(nso,NSO), close('$stream'(NSO)).

