[Edu-sig] TinyP2P

Kirby Urner urnerk at qwest.net
Fri Dec 17 18:10:13 CET 2004


> I'm having a hard time getting it to work; it keeps telling me that it's
> iterating over a non-sequence. I guess this means that the object isn't
> a list or a tuple or anything like that. I think that means there's only
> one host, which is to be expected. I'm trying to do it with 127.0.0.1 or
> my local router-created network, but neither work. I tried setting up a
> second server on the same machine (connected to that same network), but
> it failed for the same reason. Can you get it to work?
> 
> Tim
> 

Hi Tim --

Too lazy to reboot the Compaq into Mandrake 9.2, I'm trying this in Windows.

I downloaded the code to a Python 2.4 subdirectory (site-packages) and
inserted a few carriage returns for readability (didn't help much -- these
little lambda people might be happier in Scheme).

Then I opened a cmd window and went to said subdirectory and entered:

---
Microsoft Windows XP [Version 5.1.2600]
(C) Copyright 1985-2001 Microsoft Corp.

C:\Documents and Settings\Kirby>d:

D:\>cd python24

D:\Python24>cd Lib

D:\Python24\Lib>cd site-packages

D:\Python24\Lib\site-packages>python tinyp2p.py shazam server ktu2 6789
---

So far so good.

Then I opened a second command window went to my c:\temp subdirectory and
entered:

---
Microsoft Windows XP [Version 5.1.2600]
(C) Copyright 1985-2001 Microsoft Corp.

C:\Documents and Settings\Kirby>cd temp
The system cannot find the path specified.

C:\Documents and Settings\Kirby>cd\

C:\>cd temp

C:\temp>d:\python24\python d:\python24\Lib\site-packages\tinyp2p.py shazam
client http://ktu2.6789 *

And what I got back was:

Traceback (most recent call last):
  File "d:\python24\Lib\site-packages\tinyp2p.py", line 26, in ?
    for url in pxy(ar[3]).f(pw(ar[3]),0,[]):
  File "d:\python24\lib\xmlrpclib.py", line 1096, in __call__
    return self.__send(self.__name, args)
  File "d:\python24\lib\xmlrpclib.py", line 1383, in __request
    verbose=self.__verbose
  File "d:\python24\lib\xmlrpclib.py", line 1129, in request
    self.send_content(h, request_body)
  File "d:\python24\lib\xmlrpclib.py", line 1243, in send_content
    connection.endheaders()
  File "d:\python24\lib\httplib.py", line 792, in endheaders
    self._send_output()
  File "d:\python24\lib\httplib.py", line 673, in _send_output
    self.send(msg)
  File "d:\python24\lib\httplib.py", line 640, in send
    self.connect()
  File "d:\python24\lib\httplib.py", line 608, in connect
    socket.SOCK_STREAM):
socket.gaierror: (11001, 'getaddrinfo failed')

C:\temp>

---

Am I going to now try to debug this giant mess just so I can prove Python is
able to do peer to peer (which I already knew)?  No.

Do I think someone else might get this to work on Win XP?  Definitely.

Do I think Win XP is part of the problem somehow?  I really have no idea.

BUT WAIT!  Now that I'm eyeballing all of the above, I see that I have some
silly dot instead of a colon after the ktu2 in the URL.  Let's try that
again:

---

C:\temp>d:\python24\python d:\python24\Lib\site-packages\tinyp2p.py shazam
client http://ktu2:6789 *
Traceback (most recent call last):
  File "d:\python24\Lib\site-packages\tinyp2p.py", line 26, in ?
    for url in pxy(ar[3]).f(pw(ar[3]),0,[]):
  File "d:\python24\lib\xmlrpclib.py", line 1096, in __call__
    return self.__send(self.__name, args)
  File "d:\python24\lib\xmlrpclib.py", line 1383, in __request
    verbose=self.__verbose
  File "d:\python24\lib\xmlrpclib.py", line 1147, in request
    return self._parse_response(h.getfile(), sock)
  File "d:\python24\lib\xmlrpclib.py", line 1286, in _parse_response
    return u.close()
  File "d:\python24\lib\xmlrpclib.py", line 744, in close
    raise Fault(**self._stack[0])
xmlrpclib.Fault: <Fault 1: 'exceptions.TypeError:coercing to Unicode: need
string or buffer, list found'>

---

OK, well, definite progress anyway.  This is a completely different error.
I just had my URL borked in the top example.  Maybe I just don't know what a
pattern should look like.  I tried * for "everything," then I tried "py".

But look, even though both tries got me tracebacks, the server is now
registering that it's getting hits:

---

[beneath the earlier server command line]

KTU2 - - [17/Dec/2004 09:02:34] "POST /RPC2 HTTP/1.0" 200 -
KTU2 - - [17/Dec/2004 09:03:05] "POST /RPC2 HTTP/1.0" 200 -

---

I feel a lot closer to having it work.  On the other hand, I have no more
incentive to try *making* it work.  Off to other things.  Kinda fun though.

Kirby

> --
> Visit my website: (and please be a supporter of free trade, free
> software, phr33 s0ftware, free dom, and free propoganda by giving
> others the url) http://kmg.is-a-geek.org
> Garunteed to be down at least 5% of the time.
> 
> _______________________________________________
> Edu-sig mailing list
> Edu-sig at python.org
> http://mail.python.org/mailman/listinfo/edu-sig




More information about the Edu-sig mailing list