Skip to content

networking #147

@BMaxV

Description

@BMaxV

I figured

panda3d/panda3d#1466

would best be filed as a documentation issue.

  • what are the specs of the networking that's built in?
    • is it tcp / udp?
    • has it been tested? what where the conditions for those tests

the important questions are:

  • why are the parts necessary?
  • what do they do?
  • how is the data being processed?
  • what kind of data or objects can I pass through?
  • is the connection encrypted?

The manual starts with the datagramm protocol, demonstrates a trivial example with a string in https://docs.panda3d.org/1.10/python/programming/networking/datagram-protocol/transmitting-data#sending-a-message

The snippet is missing the imports, same as the other snippets in the manual, so it's not useable right away and any user has to research how to import it.

For the distributed networking, it's not clear why this is needed. Why separate servers are needed, how to store and load the config data for those servers.

https://docs.panda3d.org/1.10/python/programming/networking/distributed/uber-dogs

Do I need these? Can I use something else? What are they? What are their limitations? What kind of assurances do they give? Can I detail which attributes get updated? Can I give priorities to certain attributes? Does it determine changes automatically? How does it do this? If the bandwidth or packages are limited in size or freuquency, how is it determined which data to send? What happens when packages are dropped?

https://docs.panda3d.org/1.10/python/programming/networking/distributed/distributed-node

"Simply check the direct.dc file to see which network calls are available."

What's the direct.dc file? Where do I find this?


When I said, it's "not usable" I meant the entire thing. I can read it and when I'm done, I am not able to use the code.

I'm sure the code works for people who already have arcane knowledge of how to use it.


What I would like to see as a fix, is a fully functioning sample that contains every "important" object and function and then a page for each of those that explain why they are needed, how they are used in the sample, and how to configure them for different circumstances and needs. I'm sure there are some parameters that can be left mostly the same and I'm sure there are some parameters that have to be fine tuned for each use case, I would appreciate an explanation of which ones those are and how the fine tuning can be leveraged.

Metadata

Metadata

Assignees

No one assigned

    Labels

    new contentContent that needs to be added to the manual.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions