[Twisted-Python] "Ports" vs. "Listeners"
![](https://secure.gravatar.com/avatar/e8d7e03b9981c937597d9bf9ef1f704b.jpg?s=120&d=mm&r=g)
I really do not like that we call our "servers" "Ports". I think a much better term would be "Listener". I've talked to glyph before about this, and he's usually been too busy to discuss it with me (at least, that's what *he* says...), so here it is on the list. What's wrong with using "Listener"? A lot of people get confused by the term "Port". When they think "Port", they don't necessarily think of "something that sits on a port, and listens for incoming connections". That's just how I understand it. Another argument against Port is that it's not only for "waiting for incoming connections" -- clients also allocate ports when they connect to remote hosts. So, even technically, Port is an inaccurate term for this class. You might find other technical details that make "Listener" slightly inaccurate, but it still just Makes Sense to most people (I'm guessing -- DavidC_, after me using the word "Port", and explaining that I'd rather prefer "listener", told me he would've immediately understood what I was talking about if I had used that term from the beginning). So, it should just be known that I am vehemently against using "Port" for this class. If you can come up with something better than Listener (and that also *makes sense* without having it explained to me first), then that's great.
![](https://secure.gravatar.com/avatar/e1554622707bedd9202884900430b838.jpg?s=120&d=mm&r=g)
Here I am, responding to a message on the mailing list that I was too busy to respond to in chat. Those of you reluctant to use the mailing list, take note :) On Mon, 30 Jul 2001, Chris Armstrong wrote:
Well, "listener" seems equally vague to me :), and in questions like this the status quo wins by default.
I'd be interested to hear more feedback on this. Do folks generally think that "listener" makes more sense than "port"?
"ServerSocket" probably makes the most sense... but then it would make sense to change everything around to sound more like the java.net classnames. I've not really been happy with the classnames in twisted.internet, so I encourage further debate... ______ __ __ _____ _ _ | ____ | \_/ |_____] |_____| |_____| |_____ | | | | @ t w i s t e d m a t r i x . c o m http://twistedmatrix.com/users/glyph
![](https://secure.gravatar.com/avatar/3477a9de290ec6d77129af504faa1c0b.jpg?s=120&d=mm&r=g)
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 On Mon, 30 Jul 2001, Glyph Lefkowitz <glyph@twistedmatrix.com> wrote:
ServerSocket is the official Pythonic name, as in "the ServerSocket module". - -- gpg --keyserver keyserver.pgp.com --recv-keys 46D01BD6 54C4E1FE Secure (inaccessible): 4BD1 7705 EEC0 260A 7F21 4817 C7FC A636 46D0 1BD6 Insecure (accessible): C5A5 A8FA CA39 AB03 10B8 F116 1713 1BCF 54C4 E1FE Learn Python! http://www.ibiblio.org/obp/thinkCSpy -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.0.6 (GNU/Linux) Comment: For info see http://www.gnupg.org iEYEARECAAYFAjtmLCUACgkQx/ymNkbQG9b+qQCdGxsrwBpC2fFjhC0qmyifHoO7 qBQAnjZ07vJKLheCaDWDEJRSXp1YJsAN =l1Fk -----END PGP SIGNATURE-----
![](https://secure.gravatar.com/avatar/6da36f11a1b261dc1b2693855631bf1f.jpg?s=120&d=mm&r=g)
"Port" to me suggests some sort of system resource, whereas "Listener" at least connotes something is being *done*. If indeed, we are talking about a class whose responsibility it is to receive requests and handle them, then a more active name such as "Listener" (or even "server") might be more appropriate. -----Original Message----- From: twisted-python-admin@twistedmatrix.com [mailto:twisted-python-admin@twistedmatrix.com]On Behalf Of Moshe Zadka Sent: Monday, July 30, 2001 10:55 PM To: twisted-python@twistedmatrix.com Cc: twisted-python@twistedmatrix.com Subject: Re: [Twisted-Python] "Ports" vs. "Listeners" -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 On Mon, 30 Jul 2001, Glyph Lefkowitz <glyph@twistedmatrix.com> wrote:
ServerSocket is the official Pythonic name, as in "the ServerSocket module". - -- gpg --keyserver keyserver.pgp.com --recv-keys 46D01BD6 54C4E1FE Secure (inaccessible): 4BD1 7705 EEC0 260A 7F21 4817 C7FC A636 46D0 1BD6 Insecure (accessible): C5A5 A8FA CA39 AB03 10B8 F116 1713 1BCF 54C4 E1FE Learn Python! http://www.ibiblio.org/obp/thinkCSpy -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.0.6 (GNU/Linux) Comment: For info see http://www.gnupg.org iEYEARECAAYFAjtmLCUACgkQx/ymNkbQG9b+qQCdGxsrwBpC2fFjhC0qmyifHoO7 qBQAnjZ07vJKLheCaDWDEJRSXp1YJsAN =l1Fk -----END PGP SIGNATURE----- _______________________________________________ Twisted-Python mailing list Twisted-Python@twistedmatrix.com http://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python
![](https://secure.gravatar.com/avatar/e1554622707bedd9202884900430b838.jpg?s=120&d=mm&r=g)
On Mon, 30 Jul 2001, Matthew Walker wrote:
Terms like "request", "receive", and "handle" in this context are maddeningly vague. :) And actually, your reasoning (although inverted) is the reason I chose the word "Port". The actual Port instance does nearly nothing except to maintain state associated with the connection-accepting socket (persistently, only what numeric port it's on); the associated protocol.Factory instance generates Protocol instances, which "handle" the incoming "requests", insofar as such a thing is ever done (they convert the data into events and make appropriate callbacks to user code...) "Listener" really implies to me that the user has to subclass it to make it *do* something. However, I'll agree that the word "listen" more clearly implies what it is that a Port does specifically, so I'm more in favor of deprecating direct use of the Port class, replacing it with twisted.internet.main.Application.listenOn(...); I've already started doing so. ______ __ __ _____ _ _ | ____ | \_/ |_____] |_____| |_____| |_____ | | | | @ t w i s t e d m a t r i x . c o m http://twistedmatrix.com/users/glyph
![](https://secure.gravatar.com/avatar/46e2e9a6a0e5d0cefaeae0ed10bc0270.jpg?s=120&d=mm&r=g)
Does anyone know how I can get the Reality Servers running on a Windows system? I have been able to get a static server working okay, but I don't know what the parameters for mkrealityserver are. Thanks in advance for help. ChrisH -- This transmission is for the intended addressee only and is confidential information. If you have received this transmission in error, please delete it and notify the sender. The contents of this e-mail are the opinion of the writer only and are not endorsed by the Mincom Group of companies unless expressly stated otherwise.
![](https://secure.gravatar.com/avatar/e1554622707bedd9202884900430b838.jpg?s=120&d=mm&r=g)
On Tue, 31 Jul 2001, Chris Hadgis wrote:
It's very similiar to getting it working on UNIX. Do you have Inheritance.tar.gz or TRDemo.tar.gz from the 'reality' page on twistedmatrix.com? ______ __ __ _____ _ _ | ____ | \_/ |_____] |_____| |_____| |_____ | | | | @ t w i s t e d m a t r i x . c o m http://twistedmatrix.com/users/glyph
![](https://secure.gravatar.com/avatar/46e2e9a6a0e5d0cefaeae0ed10bc0270.jpg?s=120&d=mm&r=g)
From: "Glyph Lefkowitz" <glyph@twistedmatrix.com>
don't
Yes I have. I have both of those. The doco for mkrealityserver indicates there are two parameters: map.rpl and map.spl. This will ultimately produce a file called pump.spl. I understand this, but I don't know where to get the rpl and spl files from, or how to generate them. Cheers, ChrisH -- This transmission is for the intended addressee only and is confidential information. If you have received this transmission in error, please delete it and notify the sender. The contents of this e-mail are the opinion of the writer only and are not endorsed by the Mincom Group of companies unless expressly stated otherwise.
![](https://secure.gravatar.com/avatar/e1554622707bedd9202884900430b838.jpg?s=120&d=mm&r=g)
On Wed, 1 Aug 2001, Chris Hadgis wrote:
A command like 'gnusto build_map x.rpl mapcopy.py' in one of the Inheritance or TRDemo directories will create 'x.rpl' which you can use with mkrealityserver. HTH. ______ __ __ _____ _ _ | ____ | \_/ |_____] |_____| |_____| |_____ | | | | @ t w i s t e d m a t r i x . c o m http://twistedmatrix.com/users/glyph
![](https://secure.gravatar.com/avatar/46e2e9a6a0e5d0cefaeae0ed10bc0270.jpg?s=120&d=mm&r=g)
From: "Glyph Lefkowitz" <glyph@twistedmatrix.com>
This does help, actually. If anyone is interested, I can write up some notes on how to get various aspects of TM working on Windows platforms. Once I put the Inheritance and TRDemo directories in the right places, I was able to create a .spl file for both Inheritance and TRDemo. There was a problem with TRDemo - twisted.library is missing. Is this library available anywhere or has it been superseded? I ran the Inheritance module, and after going through some code to find the username and password, I was able to run this successfully. I am now able to move around in the inheritance game, but that's about it. Again, if anyone is interested in docs for running any of this, I will be happy to produce some. Does anyone know the status of reality servers? I'm really enjoying playing around with all of this stuff. Cheers, ChrisH -- This transmission is for the intended addressee only and is confidential information. If you have received this transmission in error, please delete it and notify the sender. The contents of this e-mail are the opinion of the writer only and are not endorsed by the Mincom Group of companies unless expressly stated otherwise.
![](https://secure.gravatar.com/avatar/b413d1520aa25958ad02175bfb290823.jpg?s=120&d=mm&r=g)
Chris, documentation on running Twisted under Windows would be an extremely valuable addition to the Twisted community. :-) Cheers, Jason -----Original Message----- From: twisted-python-admin@twistedmatrix.com [mailto:twisted-python-admin@twistedmatrix.com]On Behalf Of Chris Hadgis Sent: Wednesday, August 01, 2001 5:33 PM To: twisted-python@twistedmatrix.com Subject: Re: [Twisted-Python] Reality Servers From: "Glyph Lefkowitz" <glyph@twistedmatrix.com>
This does help, actually. If anyone is interested, I can write up some notes on how to get various aspects of TM working on Windows platforms. Once I put the Inheritance and TRDemo directories in the right places, I was able to create a .spl file for both Inheritance and TRDemo. There was a problem with TRDemo - twisted.library is missing. Is this library available anywhere or has it been superseded? I ran the Inheritance module, and after going through some code to find the username and password, I was able to run this successfully. I am now able to move around in the inheritance game, but that's about it. Again, if anyone is interested in docs for running any of this, I will be happy to produce some. Does anyone know the status of reality servers? I'm really enjoying playing around with all of this stuff. Cheers, ChrisH -- This transmission is for the intended addressee only and is confidential information. If you have received this transmission in error, please delete it and notify the sender. The contents of this e-mail are the opinion of the writer only and are not endorsed by the Mincom Group of companies unless expressly stated otherwise. _______________________________________________ Twisted-Python mailing list Twisted-Python@twistedmatrix.com http://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python
![](https://secure.gravatar.com/avatar/e1554622707bedd9202884900430b838.jpg?s=120&d=mm&r=g)
I'd like to emphatically second Jason's comment here! Documentation is a serious sore point of many Python projects, including Twisted, and I'd like to encourage anyone who has the time to do so to write and maintain documentation, especially HOWTOs and tutorials. (The API documentation is passable as reference material, although it too needs work.) In addition to the Windows documentation, it might be nice to have a slightly more GUI frontend to Twisted for windows users, who don't have a very good command line interface. I really don't know where to start with such a tool though, because the GUI seems so open-ended to me, but if you can think of an easier process while you're writing documentation, please suggest that to the list. More comments interspersed below... On Wed, 1 Aug 2001, Jason L. Asbahr wrote:
and Chris Hadgis wrote:
Unfortunately, that's about as far as we got. You can put things in things, and if you read author.py you should get a few hints as to "verbs" you can use to create things... hopefully some of the ex-reality authors can chime in here...
Again, if anyone is interested in docs for running any of this, I will be happy to produce some.
Seconding Jason's opinion, as above.
Does anyone know the status of reality servers?
What do you mean by Status?
I'm really enjoying playing around with all of this stuff.
Great to hear it! :) ______ __ __ _____ _ _ | ____ | \_/ |_____] |_____| |_____| |_____ | | | | @ t w i s t e d m a t r i x . c o m http://twistedmatrix.com/users/glyph
![](https://secure.gravatar.com/avatar/48d67e7475b58c9a7af0ab03737b74ea.jpg?s=120&d=mm&r=g)
I currently operate on the MacOS X architecture and if I can get Twisted working on its platform I will be more than happy to document it for further use.
What about the use of Wx Windows, since it has the WxPython API extensions, that way one wouldn't have to worry about reinventing the wheel used to work with X or Windows.
![](https://secure.gravatar.com/avatar/3477a9de290ec6d77129af504faa1c0b.jpg?s=120&d=mm&r=g)
On Thu, 2 Aug 2001, M.J. Stahl <mjmstahl@one.net> wrote:
I hardly think Glyph's problem was the widget sets. -- gpg --keyserver keyserver.pgp.com --recv-keys 46D01BD6 54C4E1FE Secure (inaccessible): 4BD1 7705 EEC0 260A 7F21 4817 C7FC A636 46D0 1BD6 Insecure (accessible): C5A5 A8FA CA39 AB03 10B8 F116 1713 1BCF 54C4 E1FE Learn Python! http://www.ibiblio.org/obp/thinkCSpy
![](https://secure.gravatar.com/avatar/46e2e9a6a0e5d0cefaeae0ed10bc0270.jpg?s=120&d=mm&r=g)
From: "Glyph Lefkowitz" <glyph@twistedmatrix.com> [snip]
I'll have a look at author.py tonight (hopefully). By the way, your suggestion of changing "reality" to "twisted.reality" when running faucet did the trick. I can now proceed through the game via the tk interface. How does this mesh with the web browser interface? Or is it something separate?
Does anyone know the status of reality servers?
What do you mean by Status?
Is anyone actively working on them? Are there any long-range plans for them? I think I asked before if they were supposed to be like TADS interpreters or Z-machines, or are they to be something different. It's going to take some time to go through the various modules and find out how they fit together, and how the reality server interprets and processes sentences. If there are docs on how to create a reality world they would be helpful.
I'm really enjoying playing around with all of this stuff.
Great to hear it! :)
I'll reply to the list when I get some more information together, or when I get some more questions :) In our city we get a public holiday on Wednesday but I think most of the day is already taken up by family plans. If only I had discovered these sorts of projects 10 to 15 years ago... Cheers, ChrisH -- This transmission is for the intended addressee only and is confidential information. If you have received this transmission in error, please delete it and notify the sender. The contents of this e-mail are the opinion of the writer only and are not endorsed by the Mincom Group of companies unless expressly stated otherwise.
![](https://secure.gravatar.com/avatar/e1554622707bedd9202884900430b838.jpg?s=120&d=mm&r=g)
On Mon, 13 Aug 2001, Chris Hadgis wrote: [snip]
The web browser interface is still proof-of-concept. There is no way to interact with the game using actions; keepalive HTTP connections and other such nightmares prevented me from doing so. It'll probably eventually be most useful as an authoring interface.
Not "actively", although I use the Reality service as a testing ground for most of my changes, since it is a simple and typical application of the Twisted framework. So, it remains up to date but does not accumulate any significant new functionality over time. Unless, of course, some enterprising hacker were to come along and contribute some... :-)
I think I asked before if they were supposed to be like TADS interpreters or Z-machines, or are they to be something different.
It inherits much from that culture, but it's designed to be an online environment as well as single-player, and the single-player component runs mostly in realtime (but can optionally be turn-based). So I'd have to say it's something different, and I don't know of any similiar projects.
Most of the documentation for Twisted Reality was written several years ago, and referred to the Java version of TR. It is obviously no longer accurate or relevant :). Documentation is a known sore point and you're encouraged to document your experiences; keep in mind that asking questions on the mailing list means that at least we'll have somewhere to refer other people asking the same questions to, so it does help! ______ __ __ _____ _ _ | ____ | \_/ |_____] |_____| |_____| |_____ | | | | @ t w i s t e d m a t r i x . c o m http://twistedmatrix.com/users/glyph
![](https://secure.gravatar.com/avatar/46e2e9a6a0e5d0cefaeae0ed10bc0270.jpg?s=120&d=mm&r=g)
From: "Glyph Lefkowitz" <glyph@twistedmatrix.com>
Is anyone actively working on them? Are there any long-range plans for
Okay, I won't worry too much about it then :) them?
I use the tk interface from faucet. I take it this is the Windows, or non-Unix version of the interface. I notice the gtk interface is more advanced than the tk interface. This is something I will be fixing in the near future. I even made my first TR chage -- the text in the two major windows (the description and the item list) now wraps. When I make a few more changes I will try and create a diff file so the changes can be added to the CVS. Is there an official change log, or revision history, or something similar?
Okay. I will look at getting it to work the way the other IF systems do for a single player, then see how multi-player IF might look. I actually did try to start two faucets to connect to TRdemo. A crash on the second faucet told me the address was already in use. Is it possible, in theory, for me to be able to run two faucets for the one demo? If it is, I will add this to my to-do list for the tk interface.
I will try and document the functions as I get around to finding out what they all do and making changes to them. The next change I want to make is to get the tk interface to recognise 'n' as a valid command (go north). I know the gtk interface does this so I will copy what I can. I will post about my progress with this as I make some :) Cheers, ChrisH -- This transmission is for the intended addressee only and is confidential information. If you have received this transmission in error, please delete it and notify the sender. The contents of this e-mail are the opinion of the writer only and are not endorsed by the Mincom Group of companies unless expressly stated otherwise.
![](https://secure.gravatar.com/avatar/e1554622707bedd9202884900430b838.jpg?s=120&d=mm&r=g)
On Tue, 31 Jul 2001, Moshe Zadka wrote:
ServerSocket is the official Pythonic name, as in "the ServerSocket module".
Where does this module appear? glyph@helix:~% python2.1 Python 2.1 (#1, May 31 2001, 15:00:32) [GCC 2.96 20000731 (Red Hat Linux 7.1 2.96-81)] on linux2 Type "copyright", "credits" or "license" for more information.
______ __ __ _____ _ _ | ____ | \_/ |_____] |_____| |_____| |_____ | | | | @ t w i s t e d m a t r i x . c o m http://twistedmatrix.com/users/glyph
![](https://secure.gravatar.com/avatar/3477a9de290ec6d77129af504faa1c0b.jpg?s=120&d=mm&r=g)
On Tue, 31 Jul 2001, Glyph Lefkowitz <glyph@twistedmatrix.com> wrote:
Woooops! my bad: SocketServer Python 2.1 (#1, Apr 27 2001, 01:24:08) [GCC 2.95.3 20010219 (prerelease)] on linux2 Type "copyright", "credits" or "license" for more information.
This module tries to capture the various aspects of defining a server: .... -- gpg --keyserver keyserver.pgp.com --recv-keys 46D01BD6 54C4E1FE Secure (inaccessible): 4BD1 7705 EEC0 260A 7F21 4817 C7FC A636 46D0 1BD6 Insecure (accessible): C5A5 A8FA CA39 AB03 10B8 F116 1713 1BCF 54C4 E1FE Learn Python! http://www.ibiblio.org/obp/thinkCSpy
![](https://secure.gravatar.com/avatar/b7329e272eda60dacb0f066e3a7460cc.jpg?s=120&d=mm&r=g)
On Mon, 30 Jul 2001, Glyph Lefkowitz wrote:
Well my misunderstanding comes from already having worked with sockets. A tcp port is just a number attached to each packet. When you want to make a server you call listen() on a bound port number. You listen for people who want to talk to you. So you create a Listener. By the way, spread.pb is neat. name: David Creswick website: http://braznet.com/david jabber id: davec@jabber.org
![](https://secure.gravatar.com/avatar/9011310c6d9d5fcbf4b52d9d96ceb5e8.jpg?s=120&d=mm&r=g)
well, since you asked... "Listener" is very passive, non-directed. It would be nice if we could convey the idea of something dedicated/allocated wishing/waiting/hoping for a _potential connection. It's not "someone who happens to be listening" to a broadcast, it's more like "operators are standing by." Of course, the word "operator" is plainly no good, as it's a loaded term in this environment. A close synonym is "receptionist", but that's a bit unwieldy and doesn't feel quite right to me. "clerk" is too general, "teller" (as in bank) doesn't work either. I'm not sure "port" is really that bad. It's a point of contact, something with a *specific address* which may be connected to (which "Listener" does /not/ convey), something that things traveling to/from remote locations go through. And hell, if you're going to use a phrase like "TCP", you might as well use the standard terminology that goes with it. =) You're right though, in saying that not all ports are for inbound connections, they're also for outbound connections. Maybe a qualifier is in order? PortListener ListnerPort ListeningPort InPort InboundPort ReceptivePort ReceivingPort DockingPort OpenPort SuckingPort TapPort WatchedPort SentryPort ok I think I better stop there -- Whaddyamean you don't wanna call it "twisted.internet.streamed_ordered_garuanteed_delivery"?
![](https://secure.gravatar.com/avatar/e1554622707bedd9202884900430b838.jpg?s=120&d=mm&r=g)
Here I am, responding to a message on the mailing list that I was too busy to respond to in chat. Those of you reluctant to use the mailing list, take note :) On Mon, 30 Jul 2001, Chris Armstrong wrote:
Well, "listener" seems equally vague to me :), and in questions like this the status quo wins by default.
I'd be interested to hear more feedback on this. Do folks generally think that "listener" makes more sense than "port"?
"ServerSocket" probably makes the most sense... but then it would make sense to change everything around to sound more like the java.net classnames. I've not really been happy with the classnames in twisted.internet, so I encourage further debate... ______ __ __ _____ _ _ | ____ | \_/ |_____] |_____| |_____| |_____ | | | | @ t w i s t e d m a t r i x . c o m http://twistedmatrix.com/users/glyph
![](https://secure.gravatar.com/avatar/3477a9de290ec6d77129af504faa1c0b.jpg?s=120&d=mm&r=g)
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 On Mon, 30 Jul 2001, Glyph Lefkowitz <glyph@twistedmatrix.com> wrote:
ServerSocket is the official Pythonic name, as in "the ServerSocket module". - -- gpg --keyserver keyserver.pgp.com --recv-keys 46D01BD6 54C4E1FE Secure (inaccessible): 4BD1 7705 EEC0 260A 7F21 4817 C7FC A636 46D0 1BD6 Insecure (accessible): C5A5 A8FA CA39 AB03 10B8 F116 1713 1BCF 54C4 E1FE Learn Python! http://www.ibiblio.org/obp/thinkCSpy -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.0.6 (GNU/Linux) Comment: For info see http://www.gnupg.org iEYEARECAAYFAjtmLCUACgkQx/ymNkbQG9b+qQCdGxsrwBpC2fFjhC0qmyifHoO7 qBQAnjZ07vJKLheCaDWDEJRSXp1YJsAN =l1Fk -----END PGP SIGNATURE-----
![](https://secure.gravatar.com/avatar/6da36f11a1b261dc1b2693855631bf1f.jpg?s=120&d=mm&r=g)
"Port" to me suggests some sort of system resource, whereas "Listener" at least connotes something is being *done*. If indeed, we are talking about a class whose responsibility it is to receive requests and handle them, then a more active name such as "Listener" (or even "server") might be more appropriate. -----Original Message----- From: twisted-python-admin@twistedmatrix.com [mailto:twisted-python-admin@twistedmatrix.com]On Behalf Of Moshe Zadka Sent: Monday, July 30, 2001 10:55 PM To: twisted-python@twistedmatrix.com Cc: twisted-python@twistedmatrix.com Subject: Re: [Twisted-Python] "Ports" vs. "Listeners" -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 On Mon, 30 Jul 2001, Glyph Lefkowitz <glyph@twistedmatrix.com> wrote:
ServerSocket is the official Pythonic name, as in "the ServerSocket module". - -- gpg --keyserver keyserver.pgp.com --recv-keys 46D01BD6 54C4E1FE Secure (inaccessible): 4BD1 7705 EEC0 260A 7F21 4817 C7FC A636 46D0 1BD6 Insecure (accessible): C5A5 A8FA CA39 AB03 10B8 F116 1713 1BCF 54C4 E1FE Learn Python! http://www.ibiblio.org/obp/thinkCSpy -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.0.6 (GNU/Linux) Comment: For info see http://www.gnupg.org iEYEARECAAYFAjtmLCUACgkQx/ymNkbQG9b+qQCdGxsrwBpC2fFjhC0qmyifHoO7 qBQAnjZ07vJKLheCaDWDEJRSXp1YJsAN =l1Fk -----END PGP SIGNATURE----- _______________________________________________ Twisted-Python mailing list Twisted-Python@twistedmatrix.com http://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python
![](https://secure.gravatar.com/avatar/e1554622707bedd9202884900430b838.jpg?s=120&d=mm&r=g)
On Mon, 30 Jul 2001, Matthew Walker wrote:
Terms like "request", "receive", and "handle" in this context are maddeningly vague. :) And actually, your reasoning (although inverted) is the reason I chose the word "Port". The actual Port instance does nearly nothing except to maintain state associated with the connection-accepting socket (persistently, only what numeric port it's on); the associated protocol.Factory instance generates Protocol instances, which "handle" the incoming "requests", insofar as such a thing is ever done (they convert the data into events and make appropriate callbacks to user code...) "Listener" really implies to me that the user has to subclass it to make it *do* something. However, I'll agree that the word "listen" more clearly implies what it is that a Port does specifically, so I'm more in favor of deprecating direct use of the Port class, replacing it with twisted.internet.main.Application.listenOn(...); I've already started doing so. ______ __ __ _____ _ _ | ____ | \_/ |_____] |_____| |_____| |_____ | | | | @ t w i s t e d m a t r i x . c o m http://twistedmatrix.com/users/glyph
![](https://secure.gravatar.com/avatar/46e2e9a6a0e5d0cefaeae0ed10bc0270.jpg?s=120&d=mm&r=g)
Does anyone know how I can get the Reality Servers running on a Windows system? I have been able to get a static server working okay, but I don't know what the parameters for mkrealityserver are. Thanks in advance for help. ChrisH -- This transmission is for the intended addressee only and is confidential information. If you have received this transmission in error, please delete it and notify the sender. The contents of this e-mail are the opinion of the writer only and are not endorsed by the Mincom Group of companies unless expressly stated otherwise.
![](https://secure.gravatar.com/avatar/e1554622707bedd9202884900430b838.jpg?s=120&d=mm&r=g)
On Tue, 31 Jul 2001, Chris Hadgis wrote:
It's very similiar to getting it working on UNIX. Do you have Inheritance.tar.gz or TRDemo.tar.gz from the 'reality' page on twistedmatrix.com? ______ __ __ _____ _ _ | ____ | \_/ |_____] |_____| |_____| |_____ | | | | @ t w i s t e d m a t r i x . c o m http://twistedmatrix.com/users/glyph
![](https://secure.gravatar.com/avatar/46e2e9a6a0e5d0cefaeae0ed10bc0270.jpg?s=120&d=mm&r=g)
From: "Glyph Lefkowitz" <glyph@twistedmatrix.com>
don't
Yes I have. I have both of those. The doco for mkrealityserver indicates there are two parameters: map.rpl and map.spl. This will ultimately produce a file called pump.spl. I understand this, but I don't know where to get the rpl and spl files from, or how to generate them. Cheers, ChrisH -- This transmission is for the intended addressee only and is confidential information. If you have received this transmission in error, please delete it and notify the sender. The contents of this e-mail are the opinion of the writer only and are not endorsed by the Mincom Group of companies unless expressly stated otherwise.
![](https://secure.gravatar.com/avatar/e1554622707bedd9202884900430b838.jpg?s=120&d=mm&r=g)
On Wed, 1 Aug 2001, Chris Hadgis wrote:
A command like 'gnusto build_map x.rpl mapcopy.py' in one of the Inheritance or TRDemo directories will create 'x.rpl' which you can use with mkrealityserver. HTH. ______ __ __ _____ _ _ | ____ | \_/ |_____] |_____| |_____| |_____ | | | | @ t w i s t e d m a t r i x . c o m http://twistedmatrix.com/users/glyph
![](https://secure.gravatar.com/avatar/46e2e9a6a0e5d0cefaeae0ed10bc0270.jpg?s=120&d=mm&r=g)
From: "Glyph Lefkowitz" <glyph@twistedmatrix.com>
This does help, actually. If anyone is interested, I can write up some notes on how to get various aspects of TM working on Windows platforms. Once I put the Inheritance and TRDemo directories in the right places, I was able to create a .spl file for both Inheritance and TRDemo. There was a problem with TRDemo - twisted.library is missing. Is this library available anywhere or has it been superseded? I ran the Inheritance module, and after going through some code to find the username and password, I was able to run this successfully. I am now able to move around in the inheritance game, but that's about it. Again, if anyone is interested in docs for running any of this, I will be happy to produce some. Does anyone know the status of reality servers? I'm really enjoying playing around with all of this stuff. Cheers, ChrisH -- This transmission is for the intended addressee only and is confidential information. If you have received this transmission in error, please delete it and notify the sender. The contents of this e-mail are the opinion of the writer only and are not endorsed by the Mincom Group of companies unless expressly stated otherwise.
![](https://secure.gravatar.com/avatar/b413d1520aa25958ad02175bfb290823.jpg?s=120&d=mm&r=g)
Chris, documentation on running Twisted under Windows would be an extremely valuable addition to the Twisted community. :-) Cheers, Jason -----Original Message----- From: twisted-python-admin@twistedmatrix.com [mailto:twisted-python-admin@twistedmatrix.com]On Behalf Of Chris Hadgis Sent: Wednesday, August 01, 2001 5:33 PM To: twisted-python@twistedmatrix.com Subject: Re: [Twisted-Python] Reality Servers From: "Glyph Lefkowitz" <glyph@twistedmatrix.com>
This does help, actually. If anyone is interested, I can write up some notes on how to get various aspects of TM working on Windows platforms. Once I put the Inheritance and TRDemo directories in the right places, I was able to create a .spl file for both Inheritance and TRDemo. There was a problem with TRDemo - twisted.library is missing. Is this library available anywhere or has it been superseded? I ran the Inheritance module, and after going through some code to find the username and password, I was able to run this successfully. I am now able to move around in the inheritance game, but that's about it. Again, if anyone is interested in docs for running any of this, I will be happy to produce some. Does anyone know the status of reality servers? I'm really enjoying playing around with all of this stuff. Cheers, ChrisH -- This transmission is for the intended addressee only and is confidential information. If you have received this transmission in error, please delete it and notify the sender. The contents of this e-mail are the opinion of the writer only and are not endorsed by the Mincom Group of companies unless expressly stated otherwise. _______________________________________________ Twisted-Python mailing list Twisted-Python@twistedmatrix.com http://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python
![](https://secure.gravatar.com/avatar/e1554622707bedd9202884900430b838.jpg?s=120&d=mm&r=g)
I'd like to emphatically second Jason's comment here! Documentation is a serious sore point of many Python projects, including Twisted, and I'd like to encourage anyone who has the time to do so to write and maintain documentation, especially HOWTOs and tutorials. (The API documentation is passable as reference material, although it too needs work.) In addition to the Windows documentation, it might be nice to have a slightly more GUI frontend to Twisted for windows users, who don't have a very good command line interface. I really don't know where to start with such a tool though, because the GUI seems so open-ended to me, but if you can think of an easier process while you're writing documentation, please suggest that to the list. More comments interspersed below... On Wed, 1 Aug 2001, Jason L. Asbahr wrote:
and Chris Hadgis wrote:
Unfortunately, that's about as far as we got. You can put things in things, and if you read author.py you should get a few hints as to "verbs" you can use to create things... hopefully some of the ex-reality authors can chime in here...
Again, if anyone is interested in docs for running any of this, I will be happy to produce some.
Seconding Jason's opinion, as above.
Does anyone know the status of reality servers?
What do you mean by Status?
I'm really enjoying playing around with all of this stuff.
Great to hear it! :) ______ __ __ _____ _ _ | ____ | \_/ |_____] |_____| |_____| |_____ | | | | @ t w i s t e d m a t r i x . c o m http://twistedmatrix.com/users/glyph
![](https://secure.gravatar.com/avatar/48d67e7475b58c9a7af0ab03737b74ea.jpg?s=120&d=mm&r=g)
I currently operate on the MacOS X architecture and if I can get Twisted working on its platform I will be more than happy to document it for further use.
What about the use of Wx Windows, since it has the WxPython API extensions, that way one wouldn't have to worry about reinventing the wheel used to work with X or Windows.
![](https://secure.gravatar.com/avatar/3477a9de290ec6d77129af504faa1c0b.jpg?s=120&d=mm&r=g)
On Thu, 2 Aug 2001, M.J. Stahl <mjmstahl@one.net> wrote:
I hardly think Glyph's problem was the widget sets. -- gpg --keyserver keyserver.pgp.com --recv-keys 46D01BD6 54C4E1FE Secure (inaccessible): 4BD1 7705 EEC0 260A 7F21 4817 C7FC A636 46D0 1BD6 Insecure (accessible): C5A5 A8FA CA39 AB03 10B8 F116 1713 1BCF 54C4 E1FE Learn Python! http://www.ibiblio.org/obp/thinkCSpy
![](https://secure.gravatar.com/avatar/46e2e9a6a0e5d0cefaeae0ed10bc0270.jpg?s=120&d=mm&r=g)
From: "Glyph Lefkowitz" <glyph@twistedmatrix.com> [snip]
I'll have a look at author.py tonight (hopefully). By the way, your suggestion of changing "reality" to "twisted.reality" when running faucet did the trick. I can now proceed through the game via the tk interface. How does this mesh with the web browser interface? Or is it something separate?
Does anyone know the status of reality servers?
What do you mean by Status?
Is anyone actively working on them? Are there any long-range plans for them? I think I asked before if they were supposed to be like TADS interpreters or Z-machines, or are they to be something different. It's going to take some time to go through the various modules and find out how they fit together, and how the reality server interprets and processes sentences. If there are docs on how to create a reality world they would be helpful.
I'm really enjoying playing around with all of this stuff.
Great to hear it! :)
I'll reply to the list when I get some more information together, or when I get some more questions :) In our city we get a public holiday on Wednesday but I think most of the day is already taken up by family plans. If only I had discovered these sorts of projects 10 to 15 years ago... Cheers, ChrisH -- This transmission is for the intended addressee only and is confidential information. If you have received this transmission in error, please delete it and notify the sender. The contents of this e-mail are the opinion of the writer only and are not endorsed by the Mincom Group of companies unless expressly stated otherwise.
![](https://secure.gravatar.com/avatar/e1554622707bedd9202884900430b838.jpg?s=120&d=mm&r=g)
On Mon, 13 Aug 2001, Chris Hadgis wrote: [snip]
The web browser interface is still proof-of-concept. There is no way to interact with the game using actions; keepalive HTTP connections and other such nightmares prevented me from doing so. It'll probably eventually be most useful as an authoring interface.
Not "actively", although I use the Reality service as a testing ground for most of my changes, since it is a simple and typical application of the Twisted framework. So, it remains up to date but does not accumulate any significant new functionality over time. Unless, of course, some enterprising hacker were to come along and contribute some... :-)
I think I asked before if they were supposed to be like TADS interpreters or Z-machines, or are they to be something different.
It inherits much from that culture, but it's designed to be an online environment as well as single-player, and the single-player component runs mostly in realtime (but can optionally be turn-based). So I'd have to say it's something different, and I don't know of any similiar projects.
Most of the documentation for Twisted Reality was written several years ago, and referred to the Java version of TR. It is obviously no longer accurate or relevant :). Documentation is a known sore point and you're encouraged to document your experiences; keep in mind that asking questions on the mailing list means that at least we'll have somewhere to refer other people asking the same questions to, so it does help! ______ __ __ _____ _ _ | ____ | \_/ |_____] |_____| |_____| |_____ | | | | @ t w i s t e d m a t r i x . c o m http://twistedmatrix.com/users/glyph
![](https://secure.gravatar.com/avatar/46e2e9a6a0e5d0cefaeae0ed10bc0270.jpg?s=120&d=mm&r=g)
From: "Glyph Lefkowitz" <glyph@twistedmatrix.com>
Is anyone actively working on them? Are there any long-range plans for
Okay, I won't worry too much about it then :) them?
I use the tk interface from faucet. I take it this is the Windows, or non-Unix version of the interface. I notice the gtk interface is more advanced than the tk interface. This is something I will be fixing in the near future. I even made my first TR chage -- the text in the two major windows (the description and the item list) now wraps. When I make a few more changes I will try and create a diff file so the changes can be added to the CVS. Is there an official change log, or revision history, or something similar?
Okay. I will look at getting it to work the way the other IF systems do for a single player, then see how multi-player IF might look. I actually did try to start two faucets to connect to TRdemo. A crash on the second faucet told me the address was already in use. Is it possible, in theory, for me to be able to run two faucets for the one demo? If it is, I will add this to my to-do list for the tk interface.
I will try and document the functions as I get around to finding out what they all do and making changes to them. The next change I want to make is to get the tk interface to recognise 'n' as a valid command (go north). I know the gtk interface does this so I will copy what I can. I will post about my progress with this as I make some :) Cheers, ChrisH -- This transmission is for the intended addressee only and is confidential information. If you have received this transmission in error, please delete it and notify the sender. The contents of this e-mail are the opinion of the writer only and are not endorsed by the Mincom Group of companies unless expressly stated otherwise.
![](https://secure.gravatar.com/avatar/e1554622707bedd9202884900430b838.jpg?s=120&d=mm&r=g)
On Tue, 31 Jul 2001, Moshe Zadka wrote:
ServerSocket is the official Pythonic name, as in "the ServerSocket module".
Where does this module appear? glyph@helix:~% python2.1 Python 2.1 (#1, May 31 2001, 15:00:32) [GCC 2.96 20000731 (Red Hat Linux 7.1 2.96-81)] on linux2 Type "copyright", "credits" or "license" for more information.
______ __ __ _____ _ _ | ____ | \_/ |_____] |_____| |_____| |_____ | | | | @ t w i s t e d m a t r i x . c o m http://twistedmatrix.com/users/glyph
![](https://secure.gravatar.com/avatar/3477a9de290ec6d77129af504faa1c0b.jpg?s=120&d=mm&r=g)
On Tue, 31 Jul 2001, Glyph Lefkowitz <glyph@twistedmatrix.com> wrote:
Woooops! my bad: SocketServer Python 2.1 (#1, Apr 27 2001, 01:24:08) [GCC 2.95.3 20010219 (prerelease)] on linux2 Type "copyright", "credits" or "license" for more information.
This module tries to capture the various aspects of defining a server: .... -- gpg --keyserver keyserver.pgp.com --recv-keys 46D01BD6 54C4E1FE Secure (inaccessible): 4BD1 7705 EEC0 260A 7F21 4817 C7FC A636 46D0 1BD6 Insecure (accessible): C5A5 A8FA CA39 AB03 10B8 F116 1713 1BCF 54C4 E1FE Learn Python! http://www.ibiblio.org/obp/thinkCSpy
![](https://secure.gravatar.com/avatar/b7329e272eda60dacb0f066e3a7460cc.jpg?s=120&d=mm&r=g)
On Mon, 30 Jul 2001, Glyph Lefkowitz wrote:
Well my misunderstanding comes from already having worked with sockets. A tcp port is just a number attached to each packet. When you want to make a server you call listen() on a bound port number. You listen for people who want to talk to you. So you create a Listener. By the way, spread.pb is neat. name: David Creswick website: http://braznet.com/david jabber id: davec@jabber.org
![](https://secure.gravatar.com/avatar/9011310c6d9d5fcbf4b52d9d96ceb5e8.jpg?s=120&d=mm&r=g)
well, since you asked... "Listener" is very passive, non-directed. It would be nice if we could convey the idea of something dedicated/allocated wishing/waiting/hoping for a _potential connection. It's not "someone who happens to be listening" to a broadcast, it's more like "operators are standing by." Of course, the word "operator" is plainly no good, as it's a loaded term in this environment. A close synonym is "receptionist", but that's a bit unwieldy and doesn't feel quite right to me. "clerk" is too general, "teller" (as in bank) doesn't work either. I'm not sure "port" is really that bad. It's a point of contact, something with a *specific address* which may be connected to (which "Listener" does /not/ convey), something that things traveling to/from remote locations go through. And hell, if you're going to use a phrase like "TCP", you might as well use the standard terminology that goes with it. =) You're right though, in saying that not all ports are for inbound connections, they're also for outbound connections. Maybe a qualifier is in order? PortListener ListnerPort ListeningPort InPort InboundPort ReceptivePort ReceivingPort DockingPort OpenPort SuckingPort TapPort WatchedPort SentryPort ok I think I better stop there -- Whaddyamean you don't wanna call it "twisted.internet.streamed_ordered_garuanteed_delivery"?
participants (9)
-
Chris Armstrong
-
Chris Hadgis
-
David C
-
Glyph Lefkowitz
-
Jason L. Asbahr
-
Kevin Turner
-
M.J. Stahl
-
Matthew Walker
-
Moshe Zadka