heyy guys..

m implementing PEER TO PEER FILE TRANSFER..

What protocol should I use? TCP or UDP? And why?

Recommended Answers

All 4 Replies

TCP.
UDP messages are sent, but there is no check or guarantee whether they arrive or not. Also if you send multiple UDP packets there's no guarantee that they will arrive in the same order as they were sent.

Its important to understand how sending information over a connection works before deciding on a protocol. When you send data over a connection it is broken down into small, standard size chunks called packets. The difference in the two protocols you've described is how they handle packets.

UDP simply takes a file, breaks it up, and sends each packet out onto the network. This sounds good in theory, but problems in the network can easily cause some packets to be lost or arrive in a different order than they were sent (think of it like the mail).

TCP also breaks up a file, but it adds a little bit of information that tells the receiving client where it goes when the file gets put back together. This fixes the out of order problem. TCP also requires a client to tell the sender when it receives a packet, which means any lost packets will be resent (and so on until it reaches the client).

I would strongly recommend TCP for the application you are describing. My team used TCP for a similar system we made as a school project.

When implementing peer-to-peer file transfer, the choice of protocol depends on your specific requirements. Here's a brief explanation of TCP and UDP to help you make an informed decision:

TCP (Transmission Control Protocol):
TCP provides reliable, ordered, and error-checked delivery of data packets.
It guarantees that all data packets are received in the correct order.
TCP is suitable for scenarios where data integrity and accuracy are crucial, such as downloading large files or streaming media.

UDP (User Datagram Protocol):
UDP is a lightweight protocol that offers fast and connectionless communication.
It does not guarantee reliable delivery or ordered data packets.
UDP is suitable for scenarios where real-time communication and low latency are more important than data reliability, such as online gaming or live video streaming.

Ultimately, the choice between TCP and UDP depends on your specific use case and priorities.

commented: It’s for file transfer. UDP is only appropriate if you don’t care about getting a whole, uncorruped file -4
Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.