Transfer data directly between 2 clients
-
I have a TCP/IP (socket) client/server program. I want to transfer data directly between 2 or more clients without accessing server to reduce server's transferring tasks. One of interesting samples is bt download tools, I guess bt tools transfer data directly among clients. But how to do it? what techs should be used (such as socket)? Thanks for any ideas and links in details - not limited to bt methods.
-
I have a TCP/IP (socket) client/server program. I want to transfer data directly between 2 or more clients without accessing server to reduce server's transferring tasks. One of interesting samples is bt download tools, I guess bt tools transfer data directly among clients. But how to do it? what techs should be used (such as socket)? Thanks for any ideas and links in details - not limited to bt methods.
-
I have a TCP/IP (socket) client/server program. I want to transfer data directly between 2 or more clients without accessing server to reduce server's transferring tasks. One of interesting samples is bt download tools, I guess bt tools transfer data directly among clients. But how to do it? what techs should be used (such as socket)? Thanks for any ideas and links in details - not limited to bt methods.
You have to elaborate a bit better what you're going to achieve. In the term you spoke, the question is a nonsense. In a "socket" world there must always be someone who connect to someone else who "listen". the first is a client , the second is a server. Also "transfer between two or more" is a mis-concept. That's not only a matter of grammar: networks are graphs, and graphs are made by nodes and arcs, and arcs are between two nodes. There cannot be segments with "two or more" ends. What you're searching is not a "strange programming technic" but is an architecture made by client and server components placed on all the computers (the peers) that -after opening some sockets between some pair of them- exchanges some messages to let them understand what data is on what computer and let them transfer the "missing" data so that -after a number of iterations- all data are on all machines. All this, is a "protocol" you have to design. It's not a matter of TCP or UDP (they are just transport protocols) but of Checkpoints, Representation and Messages. In other ward "application level protocols". The coding of the sockets is the last thing to be done, not the first.
2 bugs found. > recompile ... 65534 bugs found. :doh:
-
You have to elaborate a bit better what you're going to achieve. In the term you spoke, the question is a nonsense. In a "socket" world there must always be someone who connect to someone else who "listen". the first is a client , the second is a server. Also "transfer between two or more" is a mis-concept. That's not only a matter of grammar: networks are graphs, and graphs are made by nodes and arcs, and arcs are between two nodes. There cannot be segments with "two or more" ends. What you're searching is not a "strange programming technic" but is an architecture made by client and server components placed on all the computers (the peers) that -after opening some sockets between some pair of them- exchanges some messages to let them understand what data is on what computer and let them transfer the "missing" data so that -after a number of iterations- all data are on all machines. All this, is a "protocol" you have to design. It's not a matter of TCP or UDP (they are just transport protocols) but of Checkpoints, Representation and Messages. In other ward "application level protocols". The coding of the sockets is the last thing to be done, not the first.
2 bugs found. > recompile ... 65534 bugs found. :doh:
non-sense reply