|
Register | FAQ | The Twelve Commandments | Members List | Calendar | Arcade | Find the Best VPN | Today's Posts | Search |
General Discussion For anything which doesn't fit somewhere else (for PHEX users) |
| LinkBack | Thread Tools | Display Modes |
| |||
Streaming Phex features with extension if gnutella protocol Hello, Is it possible to add streaming P2P features within PHEX ? The Gnutella protocol seems to be only applicable to files. Maybe an extension of the protocol is necessary. I need such new features to transmit live P2P video for eseco systems web3.0 appliances. ____________ Ivan Lovric ESECO SYSTEMS ESECO SYSTEMS |
| ||||
For ideas what to change you could look at peercast: PeerCast P2P Broadcasting They seem to use Gnutella internally (though I don't know if it's an old version - if my memory serves me right they only supported Gnutella 0.4 for quite some time).
__________________ -> put this banner into your own signature! <- -- Erst im Spiel lebt der Mensch. Nur ludantaj homoj vivas. GnuFU.net - Gnutella For Users Draketo.de - Shortstories, Poems, Music and strange Ideas. |
| |||
Peercast is too old Hello, I tried to use peercast, however the version seems old and it is not maintained since 2007. However, I will look at their source to see if it is possible to merge it with jtella, and extend the gnutella protocol. __________ Ivan Lovric ESECO SYSTEMS |
| ||||
AFAIK jtella is even older than peercast. If you want to use an up-to-date java-based Gnutella client, just have a look at Phex (at least if you want to have a chance to see your improvements in the mainline client). - Phex sources: http://www.phex.org/wiki/index.php/Subversion
__________________ -> put this banner into your own signature! <- -- Erst im Spiel lebt der Mensch. Nur ludantaj homoj vivas. GnuFU.net - Gnutella For Users Draketo.de - Shortstories, Poems, Music and strange Ideas. |
| |||
Interoperability tests with PHEX Hello, I have found two versions of JTELLA (Jtella-07 very old 2001, and Jtella-08 more recent 2003). A Jtella-07 peer doesn't work with a peer Phex because Phex only accept ultrapeers, so I get 503 error codes. The Jtella-08 seems to be able to connect with Phex because a jtella08 peer can act as an ultrapeer, so I don't have the 503 error anymore. However, I still have some issues when querying files. I will look at both source codes to see if this is an inteoperability issue. I did also some tests with Limewire but that doesn't work at all (even when I try to connect a Limewire peer with a Phex peer). After fixing these protocol issues, I will try to extend it with streaming features using peercast. Have you any ideas about the interoperability issues ? |
| |||
TCP checksum is bad To try interoperability tests within Phex and Jtella, I use the wireshark sniffer. It seems that Phex truncates the TCP packets (Connect, pong...) which results in bad TCP checksum. This error causes Jtella to close the connection. (I attached the wireshark file). 192.168.1.221 is Phex 192.168.1.78 is Jtella |
| |||
Sorry but I can't really believe that Phex is truncating anything on TCP level. The implementation is very high level and is not doing anything TCP related. If anything is truncated at such a low level, its either because of a bug in the Java VM, OS or something similar. Additionally there are no connection problems with other client. I assume the interoperability problem is not caused from such a low level problem like faulty TCP packages. Gregor |
| |||
TCP checksum is bad Yes, it seems that the TCP checksum is not the real cause the problem. After looking deeper in the source and doing some more tests, I see an interoperability issue in PHEX and Jtella. The Gnutella RFC 0.6 says in section 2.3: "Servents SHOULD remove any GGEP blocks from Ping, Pong and Push messages before sending those messages to hosts that have not indicated GGEP support." Here, PHEX has not seen that Jtella-0.8 doesn't support GGEP, but sends the GGEP extension anyway. This causes Jtella to discard the PONG message due to a wrong payload exceeding 14 bytes. AFter modifying some code in JTella, the PONG message coming from PHEX is now accepted, but I guess that a correction should also been done in PHEX, to avoid sending GGEP extensions to servents that doo not support this feature. ______________ Ivan Lovric ESECO SYSTEMS |
| |||
I just added the code to drop the GGEP data from pongs to SVN. I have no tested if it works correct, can you please do this... You can get the changes directly from the Phex SVN or sometimes tonight or tomorrow from our automated build system (in case its running correctly): Index of /snapshots I only did this change because it was quite easy to integrate, though actually I don't believe it is necessary to still support outdated nodes that don't yet support GGEP extension... Gregor |
Tags |
eseco systems, m2m, streaming, videosurveillance, web3.0 |
| |