<true facts> I just posted [tcpserver] and an updated [tcpclient] (with help files) here:
https://puredata.info/Members/martinrp
They're known to work on WinXP so far, I'll try compiling on linux next; I don't have any OSX. The dlls were built with Visual C++ 2005 so they might not work with a pd built with MinGW. I'm using Miller's pd 0.39-2. </true facts>
<idle_speculation> I should be able to merge these into a single [tcp] that accepts connections as well as initiating them. It seems not useful to do the same for udp because udp is not a connection-oriented protocol -- you can send messages back and forth on separate sockets without any problem using [udpsend] and [udpreceive], so probably [udp] would be a combination of [udpsend] and [udpreceive]. </idle_speculation>
Martin
On Fri, 12 May 2006, Martin Peach wrote:
I should be able to merge these into a single [tcp] that accepts connections as well as initiating them.
If you make this then I want it to be part of the *internals* of PureData-devel.
It seems not useful to do the same for udp because udp is not a connection-oriented protocol -- you can send messages back and forth on separate sockets without any problem using [udpsend] and [udpreceive], so probably [udp] would be a combination of [udpsend] and [udpreceive].
I prefer to have both halves of the protocol in the same object-class. This is for symmetry with other protocols (in this case, with [tcp]). Making it like this doesn't really add to udp support itself but it doesn't remove any feature either, has little overhead, and increases the uniformity across similar object-classes.
What would be the name of a unix-socket version? [unix] seems too vague.
[pipe] is already taken. [namedpipe] and [localsocket] could be fine.
However, putting "socket" in the name is contrary to the naming of [tcp]
and [udp]. OTOH, I don't care much for making those names three letters
long, because they aren't used often enough. (it's not like [t] or [f])
_ _ __ ___ _____ ________ _____________ _____________________ ... | Mathieu Bouchard - tél:+1.514.383.3801 - http://artengine.ca/matju | Freelance Digital Arts Engineer, Montréal QC Canada
On Sat, 13 May 2006 19:00:06 -0400 (EDT) Mathieu Bouchard matju@artengine.ca wrote:
<snip> > > What would be the name of a unix-socket version? [unix] seems too vague. > [pipe] is already taken. [namedpipe] and [localsocket] could be fine. > However, putting "socket" in the name is contrary to the naming of [tcp] > and [udp]. OTOH, I don't care much for making those names three letters > long, because they aren't used often enough. (it's not like [t] or [f]) >
How about having a socket class, where the subclass is defined by the first argument like this [socket unix], [socket tcp] [socket udp] etc?
I haven't looked at Martin's code yet, so this may be inappropriate, but I thought it might be worth suggesting..
Jamie
On Sun, 14 May 2006, Jamie Bullock wrote:
On Sat, 13 May 2006 19:00:06 -0400 (EDT) Mathieu Bouchard matju@artengine.ca wrote:
<snip> > > What would be the name of a unix-socket version? [unix] seems too vague. > [pipe] is already taken. [namedpipe] and [localsocket] could be fine. > However, putting "socket" in the name is contrary to the naming of [tcp] > and [udp]. OTOH, I don't care much for making those names three letters > long, because they aren't used often enough. (it's not like [t] or [f]) >
How about having a socket class, where the subclass is defined by the first argument like this [socket unix], [socket tcp] [socket udp] etc?
I haven't looked at Martin's code yet, so this may be inappropriate, but I thought it might be worth suggesting..
I think that the ideal way would be to make a vrey low level object, like [socket], then build [tcp], etc. as a Pd object based on [socket]. Christian Klippel suggested this approach to me for the [hid] stuff and I think it works very well.
Ideally, we would so as much as possible in Pd space, so that Pd hackers can debug, improve, etc. There are many really great Pd hackers who are not C programmers, nor should they have to be. If Pd is a programming language, it should be written in itself as much as possible.
.hc
zen
\
\
\[D[D[D[D
On Sat, 13 May 2006, Mathieu Bouchard wrote:
On Fri, 12 May 2006, Martin Peach wrote:
I should be able to merge these into a single [tcp] that accepts connections as well as initiating them.
If you make this then I want it to be part of the *internals* of PureData-devel.
Adding things to pd-devel that are not in Miller's Pd creates a lot of headaches. If these objects are in Pd'extended and there is a pd-devel-extended, that will be much more manageable.
It seems not useful to do the same for udp because udp is not a connection-oriented protocol -- you can send messages back and forth on separate sockets without any problem using [udpsend] and [udpreceive], so probably [udp] would be a combination of [udpsend] and [udpreceive].
I prefer to have both halves of the protocol in the same object-class. This is for symmetry with other protocols (in this case, with [tcp]). Making it like this doesn't really add to udp support itself but it doesn't remove any feature either, has little overhead, and increases the uniformity across similar object-classes.
What would be the name of a unix-socket version? [unix] seems too vague. [pipe] is already taken. [namedpipe] and [localsocket] could be fine. However, putting "socket" in the name is contrary to the naming of [tcp] and [udp]. OTOH, I don't care much for making those names three letters long, because they aren't used often enough. (it's not like [t] or [f])
_ _ __ ___ _____ ________ _____________ _____________________ ... | Mathieu Bouchard - tél:+1.514.383.3801 - http://artengine.ca/matju | Freelance Digital Arts Engineer, Montréal QC Canada
PD-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
zen
\
\
\[D[D[D[D