tinyp2p - trying to get it to work

Discussion in 'Python' started by Fantus, Oct 7, 2007.

  1. Fantus

    Fantus Guest

    Hello

    I am doing a small research and I found this:

    http://www.freedom-to-tinker.com/tinyp2p.html

    I tried to get it to work. So far I managed to run it as a server using
    a command:

    > python tinyp2p.py haslo server 10.10.10.1 2233


    It starts listening on a given port so I assume it works fine (I can
    telnet from other machine to 10.10.10.1 on 2233)

    Now when I try to run a client using following command:

    > python tinyp2p.py haslo client http://10.10.10.1:2233 koniki


    it gives me some strange output and erros:


    Traceback (most recent call last):
    File "tinyp2p.py", line 14, in ?
    for url in pxy(ar[3]).f(pw(ar[3]),0,[]):
    File "/usr/lib/python2.4/xmlrpclib.py", line 1096, in __call__
    return self.__send(self.__name, args)
    File "/usr/lib/python2.4/xmlrpclib.py", line 1383, in __request
    verbose=self.__verbose
    File "/usr/lib/python2.4/xmlrpclib.py", line 1147, in request
    return self._parse_response(h.getfile(), sock)
    File "/usr/lib/python2.4/xmlrpclib.py", line 1286, in _parse_response
    return u.close()
    File "/usr/lib/python2.4/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'>



    Can anybody help me to solve this? Please. I did browse google but found
    nothing.

    Regards
    Fantus.
     
    Fantus, Oct 7, 2007
    #1
    1. Advertising

  2. Fantus <> wrote:
    > Hello
    >
    > I am doing a small research and I found this:
    >
    > http://www.freedom-to-tinker.com/tinyp2p.html

    [...]
    > Now when I try to run a client using following command:
    >
    > > python tinyp2p.py haslo client http://10.10.10.1:2233 koniki

    >
    > it gives me some strange output and erros:
    >
    >
    > Traceback (most recent call last):
    > File "tinyp2p.py", line 14, in ?
    > for url in pxy(ar[3]).f(pw(ar[3]),0,[]):
    > File "/usr/lib/python2.4/xmlrpclib.py", line 1096, in __call__
    > return self.__send(self.__name, args)
    > File "/usr/lib/python2.4/xmlrpclib.py", line 1383, in __request
    > verbose=self.__verbose
    > File "/usr/lib/python2.4/xmlrpclib.py", line 1147, in request
    > return self._parse_response(h.getfile(), sock)
    > File "/usr/lib/python2.4/xmlrpclib.py", line 1286, in _parse_response
    > return u.close()
    > File "/usr/lib/python2.4/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'>
    >
    >
    > Can anybody help me to solve this? Please. I did browse google but found
    > nothing.


    I had a (not so quick) look. The code proves its point (i.e. writing a
    very small p2p application is possible), but it is horrible. With only
    one server, the code is broken; maybe it works using multiple servers, I
    didn't test. A quick fix seems to be to change the line
    pr() and [aug(s) for s in aug(pr()[0])]
    to
    pr() and [aug(s) for s in aug(pr()[0])] or pr([myU])

    Please don't take tinyp2p.py as an example on writing python.

    HTH Marc
     
    Marc Christiansen, Oct 8, 2007
    #2
    1. Advertising

  3. Fantus

    Fantus Guest

    Marc Christiansen pisze:
    >> Can anybody help me to solve this? Please. I did browse google but found
    >> nothing.

    >
    > I had a (not so quick) look. The code proves its point (i.e. writing a
    > very small p2p application is possible), but it is horrible. With only
    > one server, the code is broken; maybe it works using multiple servers, I
    > didn't test. A quick fix seems to be to change the line
    > pr() and [aug(s) for s in aug(pr()[0])]
    > to
    > pr() and [aug(s) for s in aug(pr()[0])] or pr([myU])
    >
    > Please don't take tinyp2p.py as an example on writing python.
    >
    > HTH Marc


    It seems to be working! Respect.

    I know this app is a bit messy but I couldnt't find anything else that
    would implement p2p basics and wouldn't have hundrends or thousands of
    lines of code. I need something very simple and this is fine.

    Thank you Marc!
     
    Fantus, Oct 8, 2007
    #3
  4. Fantus

    Fantus Guest

    Marc Christiansen pisze:

    >
    > I had a (not so quick) look. The code proves its point (i.e. writing a
    > very small p2p application is possible), but it is horrible. With only
    > one server, the code is broken; maybe it works using multiple servers, I
    > didn't test. A quick fix seems to be to change the line
    > pr() and [aug(s) for s in aug(pr()[0])]
    > to
    > pr() and [aug(s) for s in aug(pr()[0])] or pr([myU])
    >
    > Please don't take tinyp2p.py as an example on writing python.
    >
    > HTH Marc



    Ok, this seems to work "fine" (as much as a program designed to be
    minimalistic can do) except it can't download files larger than 10kb.

    It looks like a problem with SimpleXMLRPCServer (or at least I think so...)

    While trying to download file larger than 10kb the server itself doesn't
    crash but generates output like this:


    ----------------------------------------
    Exception happened during processing of request from ('127.0.0.1', 44817)
    Traceback (most recent call last):
    File "SocketServer.py", line 222, in handle_request
    self.process_request(request, client_address)
    File "SocketServer.py", line 241, in process_request
    self.finish_request(request, client_address)
    File "SocketServer.py", line 254, in finish_request
    self.RequestHandlerClass(request, client_address, self)
    File "SocketServer.py", line 521, in __init__
    self.handle()
    File "BaseHTTPServer.py", line 316, in handle
    self.handle_one_request()
    File "BaseHTTPServer.py", line 310, in handle_one_request
    method()
    File "SimpleXMLRPCServer.py", line 445, in do_POST
    self.wfile.write(response)
    File "socket.py", line 248, in write
    self.flush()
    File "socket.py", line 235, in flush
    self._sock.sendall(buffer)
    error: (104, 'Connection reset by peer')
    ----------------------------------------


    The client that was trying to make a download generates this:

    Traceback (most recent call last):
    File "backup5.py", line 75, in ?
    (lambda fi:fi.write(proxy(url).f(pw(url),2,fn)) or
    fi.close())(file(fn,"wc"))
    File "backup5.py", line 75, in <lambda>
    (lambda fi:fi.write(proxy(url).f(pw(url),2,fn)) or
    fi.close())(file(fn,"wc"))
    File "/usr/lib/python2.4/xmlrpclib.py", line 1096, in __call__
    return self.__send(self.__name, args)
    File "/usr/lib/python2.4/xmlrpclib.py", line 1383, in __request
    verbose=self.__verbose
    File "/usr/lib/python2.4/xmlrpclib.py", line 1147, in request
    return self._parse_response(h.getfile(), sock)
    File "/usr/lib/python2.4/xmlrpclib.py", line 1281, in _parse_response
    p.feed(response)
    File "/usr/lib/python2.4/xmlrpclib.py", line 527, in feed
    self._parser.Parse(data, 0)
    xml.parsers.expat.ExpatError: not well-formed (invalid token): line 5,
    column 15


    Should I post this in a separate thread or maybe one of experts visiting
    this group will take a look and hopefully solve my problem?

    Thank you in advance.
     
    Fantus, Oct 9, 2007
    #4
    1. Advertising

Want to reply to this thread or ask your own question?

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. Weapons of Mass Destruction

    Trying to get Image::Magick to work on a remote server

    Weapons of Mass Destruction, Nov 15, 2003, in forum: Perl
    Replies:
    3
    Views:
    537
    Gunnar Hjalmarsson
    Nov 15, 2003
  2. TN Bella
    Replies:
    2
    Views:
    828
    TN Bella
    Jun 17, 2004
  3. Martin Randall
    Replies:
    8
    Views:
    2,070
  4. Iain King

    Trying to get FreeImagePy to work.

    Iain King, May 26, 2006, in forum: Python
    Replies:
    13
    Views:
    740
    Michele Petrazzo
    Jun 5, 2006
  5. sparks
    Replies:
    5
    Views:
    371
    David Lindauer
    Feb 5, 2006
Loading...

Share This Page