Zsh Mailing List Archive
Messages sorted by:
Reverse Date,
Date,
Thread,
Author
Re: zsocket help
- X-seq: zsh-users 11881
- From: Peter Stephenson <pws@xxxxxxx>
- To: zsh-users@xxxxxxxxxx
- Subject: Re: zsocket help
- Date: Wed, 26 Sep 2007 09:48:02 +0100
- In-reply-to: <alpine.OSX.0.999.0709252352240.13930@xxxxxxxxxxxxxxx>
- Mailing-list: contact zsh-users-help@xxxxxxxxxx; run by ezmlm
- References: <20070924050450.GA32335@xxxxxxxxxxxxxxxxxxxxx> <200709240924.l8O9OPNP005103@xxxxxxxxxxxxxx> <alpine.OSX.0.999.0709252352240.13930@xxxxxxxxxxxxxxx>
"S. Cowles" wrote:
> does anyone have a piece of sample code showing practical usage of
> zsockets? i'm not having success developing functioning zsocket code
> using a current zsh cvs code pull. i've been working from the zshall man
> page and from the partial zsocket examples from zshlovers without success.
> any help would be appreciated. thanks.
I got the following to work.
In terminal A:
% typeset REPLY
% zmodload zsh/net/socket
% zsocket -l /tmp/zsocket
% print $REPLY
11
% zsocket -a 11
This now blocks. (I put the "typeset REPLY" at the start to ensure REPLY is
created as a string, as you would naturally do in a function.)
In terminal B:
% typeset REPLY
% zmodload zsh/net/socket
% zsocket /tmp/zsocket
% print $REPLY
3
Terminal A returns at this point and I did:
% print $REPLY
3
% read -u3 && print $REPLY
and in terminal B:
% print -u3 This is a message on the socket
which produces in terminal A:
This is a message on the socket
As far as I can see there's no way of closing the file descriptors using
zsocket, which seems an omission. Presumably you can use "exec 3>&-"
etc. although to close a file descriptor over 9 you need to do something
like:
% fd=11
% exec {fd}>&-
--
Peter Stephenson <pws@xxxxxxx> Software Engineer
CSR PLC, Churchill House, Cambridge Business Park, Cowley Road
Cambridge, CB4 0WZ, UK Tel: +44 (0)1223 692070
Messages sorted by:
Reverse Date,
Date,
Thread,
Author