[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [computer-go] GTP and Tourney in SmartGo 1.4
> Right now, with NO additional programming, I can connect 2 pipe based
> GTP go program running on their OWN computers using twogtp.pl.
I don't see how that's possible without some kind of network protocol.
pipes isn't
going to get you from one computer to another. Did these systems share a
filesystem
(such as NFS) in which info was passed? If so, this isn't a general
solution.
PIPES do not get you to another computer, but a remote shell does.
Unix was designed specifically to make it easy to use tools together
in a natural way. That's what I'm talking about. You can use either
rsh or ssh to do this and it's on virtually every unix system.
> The beauty of linux is that twogtp.pl probably was written with the
> intention of running 2 programs on the same computer, but it doesn't
> really matter if the 2 program are on different machines on the
> network, it just works remotely too. No additional programming
> required.
That would only be true if it uses TCP sockets or some other network
protocol.
It doesn't as far as I can see. Perhaps you have a version that someone
hacked
to use sockets?
I used to do this all the time with my chess program. The graphical
user interface ran on a local machine at a tournament site and the
chess engine run on a machine usually in another country. I didn't
write software to do this, I just did it with standard unix tools. The
connection was via STDIN and STDOUT. It was that simple.
> The problem we are trying to solve is how to overcome Windows
> limitations in this regard and I think the basic solution has already
> been proposed: Use TCP sockets.
What limitation is this? Windows can do pipes, sockets, shared memory,
etc...
I'm a UNIX guy myself, but I have occasion to develop on Windows also.
If you want the exact UNIX APIs on Windows, that is also doable via free
cygwin or SFU, but that's just an implementation detail.
Oh, and if twogtp.pl works on UNIX, it should also be able to work on
Windows under cygwin or SFU (or maybe even without).
I think it's probably not that hard to do in windows. It probably would
work in cygwin, but I dislike using cygwin in windows, it feels like
a kludge and it really is. If I'm going to work in the windows environment
it makes sense to do it the windows way and that's why I advocate finding
a common solution so that we can all be happy.
The only thing that needs to be done is to standardize GTP/TCP!
A Go developer would then have many options:
1) directly implement the GTP/TCP protocol (open sockets, read/write GTP to
it)
2) read/write GTP to/from stdin & stdout and have a helper program that
redirects over a socket
3) connect an existing GMP program to a helper program that translates to
GTP/TCP
4) etc
The bottom line is that the implementation details aren't important... they
can easily
be done for every OS in use now... the important part is standardizing the
protocol.
-Yonik
I certainly agree with this. My argument is that it's always so
painful in windows to do simple things because if the application
cannot do it by itself, your lost.
- Don
_______________________________________________
computer-go mailing list
computer-go@xxxxxxxxxxxxxxxxx
http://computer-go.org/mailman/listinfo/computer-go
_______________________________________________
computer-go mailing list
computer-go@xxxxxxxxxxxxxxxxx
http://computer-go.org/mailman/listinfo/computer-go