Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Repo info
Activity
    Tamim Addari
    @tamimcsedu19
    Hi
    I am
    interested in the project "Implementation of the Data Broadcasting Set of Rules (DBS) of P2PSP as a HTML5+WebRTC application"
    I would like some guidance about where could I start
    I have built application ( video and chat) using webrtc and I am familiar with python and sockets
    Cristóbal Medina López
    @cristobalmedinalopez
    Hi @tamimcsedu19, we would like to develop a version of the P2PSP (at least of the peer) for the Web browser using HTML5+MSE (Media Source Extensions)+WebRTC.
    Two years ago I experimented with that (https://github.com/cristobalmedinalopez/p2psp-webrtc-experiments) but the API was not finished and we had several problems.
    Cristóbal Medina López
    @cristobalmedinalopez
    This development is interesting because it could work on Chromecast too (http://p2psp.org/en/news/70-is-it-possible-to-run-a-peer-to-peer-protocol-on-chromecast)
    Tamim Addari
    @tamimcsedu19
    Thanks Lopez
    I have seen the protocol until dbs
    So the splitter is more like the tracker in bittorrent protocol .. But it also sends data
    And what was the problem faced in the webrtc implementation ?
    And I also understand the part where it says the deliverable is a C++ class inheriting from the
    Tamim Addari
    @tamimcsedu19
    splitter_dbs.h
    As it is implemented in browser , the code should be in JavaScript ... Right ?
    Aditya Prakash
    @adiitya
    hi @tamimcsedu19
    I think the splitter is a bit different from what a tracker is.
    Tracker (server) keep records of how much you have downloaded, how many peers are available, etc. and help in communication and reassembly of the file.Your BitTorrent client regularly communicates with the torrent tracker to ensure faster file transfer by updating the connection with peers. But the splitter sends the chunks among the peers and further the chunks are transferred within using the scheduling algorithm.
    Yes, splitter also is keeping track of all the peers and updates the peer listing everywhere, entertaining incoming and outgoing peers.
    @cristobalmedinalopez If there is some add on, please tell :)
    Also, @cristobalmedinalopez In the language required field it is written python but in the deliverable it is written a C++ class ?
    Aditya Prakash
    @adiitya
    Also @tamimcsedu19 the clients will use JavaScript but the server will be running in c++ or python
    Tamim Addari
    @tamimcsedu19
    Owh , I understand now ... thanks for the clarification Mr Adiitya . So the splitter should be sending data using the webrtc protocol. And the clients would be both be receiving and and sending data to its peers.
    Can the server be behind NAT ?
    Aditya Prakash
    @adiitya
    @tamimcsedu19 About that I don't think that will be possible because the connection needs to be initiated from the other side.
    Cristóbal Medina López
    @cristobalmedinalopez
    Hi all!
    Yes, @adiitya is right :)
    Clients will use JavaScript and the server could run python or c++. The WebRTC API resolves problems with NAT using a STUN or a TURN server (It's not the best solution because it's not P2P, but for the moment is the only one for some types of NAT).
    In this implementation the Splitter will be a Signaling server too
    Tamim Addari
    @tamimcsedu19
    Owh ... So which language should be used for the splitter ? C++ or python ? ...
    The last app I built was a video and chat app using webrtc and nodejs as a server side .. Using stun server doesn't affect p2p system ... Cause it's just getting the public IP and port from the server .. But using turn server will definitely kill the motive ...
    Tamim Addari
    @tamimcsedu19
    I would prefer coding the server in Python .. But C++ is OK too ...
    Cristóbal Medina López
    @cristobalmedinalopez
    Python is OK
    The idea is to avoid repeating code. We could use a python binding for c++.
    Tamim Addari
    @tamimcsedu19
    @cristobalmedinalopez Can you tell me what kind of problems you faced during your earlier developments , and also can I used codes from the experiments for this version?
    Cristóbal Medina López
    @cristobalmedinalopez
    Hi @tamimcsedu19 The API was in a premature state and DataChannel did not work properly.
    Another important thing to think about is the signaling process. In the P2PSP is different because a handshake is not necessary.
    Tamim Addari
    @tamimcsedu19
    The signalling is done to exchange host info , such as public IP , port etc ...
    So why a handshake wouldn't be necessary ? When a new peer joins , it should send an offer(connection) to each of the peers in the group . right ?
    Vicente González Ruiz
    @vicente-gonzalez-ruiz
    @tamimcsedu19, I think that @cristobalmedinalopez says that the P2PSP peers meet each other using the chunks (they don't need to send offers).
    Cristóbal Medina López
    @cristobalmedinalopez
    Yes, as @vicente-gonzalez-ruiz said, in the P2PSP a handshake is not necessary. The peers can join only sending a chunk (or a "hello" message). However, in the WebRTC protocol an offer-answer process is mandatory.
    Aditya Prakash
    @adiitya
    Hi @cristobalmedinalopez ,
    I was working on a demo to try the concepts of the DBS rules with WebRTC and a basic implementation of the model.
    The idea is to create the P2PSP client using WebRTC. But the processes like signalling and all other server process would be implemented following the DB set of rules. Please guide me if I am missing something.
    Thanks.
    Amritanshu jain
    @jainamritanshu
    Hi everyone,
    I am a sophomore at Birla Institute of Technology and Science, Pilani. I recently have done a lot of work on real time and chat applications using different practices of websocket programming in quite a few programming languages. I have a decent enough programming experience in programming with python and JS and had built quite a few web applications using Django/React and MERN stack. The idea of open source peer to peer applications made me keen on exploring the community and the projects more. I would love to contribute to P2PSP and be a part of the community. I would really appreciate any kind of help on getting started. I recently made a Location-based chat application. You can have a good look on the project here - https://test.investu.in.
    Thank You
    Cristóbal Medina López
    @cristobalmedinalopez
    Hi @jainamritanshu welcome to the P2PSP project! I think that the first step is to know about the protocol https://github.com/P2PSP/core/tree/master/doc and after that to propose ideas for the WebRTC implementation.