Рубрики
Без рубрики

Разница между UDP и TCP (пример кода)

Привет всем, это мой первый пост. Я начал 100daysofcodechallenge Итак, я решил провести … Tagged с Python, начинающими, сетью.

Привет всем, это мой первый пост. Я начал 100daysofcodechallenge Поэтому я решил написать о том, что я изучаю каждый день.

Сегодня я узнал о разнице между UDP и TCP и использовал ее в модели клиента/сервера Python Code.

UDP (протокол Datagram пользователя):

Проще говоря, UDP-это очень быстрый и не очень надежный протокол связи и не нуждается в подключении перед отправкой данных.

TCP (протокол управления передачей):

С другой стороны, TCP делает подключения до отправки данных, является надежным протоколом передачи, а не как быстрый UDP.

Я буду использовать простой код сервера Python, чтобы показать различия

-Ос простой сервер с использованием соединения TCP

from socket import * 

#create socket
sockfd = socket(AF_INET, SOCK_STREAM)
#bind socket
sockfd.bind(("127.0.0.1", 9999))
#listen for connections
sockfd.listen()

#accept connection
newsockfd, address = sockfd.accept() 

#recieve message
response = newsockfd.recv(1024)

#send message
message="this message is for you"
newsockfd.send(msg)

-А простой сервер с помощью UDP -соединения

#create socket
sockfd = socket(AF_INET, SOCK_DGRAM)

#bind socket
sockfd.bind(("127.0.0.1", 9999))

#recv message
data, client_addr = sockfd.recvfrom(1024)

#send message
message = "yo, yo"
msg = message.encode()
sockfd.sendto(msg, client_addr)

Мы можем ясно видеть, что код UDP короче TCP. Это потому, что:

1. TCP соединение прослушивание sockfd.listen () Для подключений на IT сокет, в то время как UDP просто не делает этого (если данные отправляются и сервер не вверх, он просто потерян)

2. TCP принимает соединение Newsockfd, .accept () от клиента перед обменом информации, пока UDP просто принимает информацию и хранит Данные, .recvfrom (1024) IP -адрес, от которого он получил информацию

3. Приемная функция. TCP использует Recv (1024) для повторного восстановления данных “1024” Укажите объем данных В то время как UDP использует Recvfrom (1024) В основном потому, что адрес, по которому были получены данные, также должен быть сохранен

4. Функция отправки. TCP использует Send () потому что ему не нужно указывать адрес, на который должны быть отправлены данные Поскольку соединение уже установлено между клиентом и сервером Пока UDP использует sendto () который необходимо для того, чтобы быть отправленным адресом, на который будут отправлены данные.

FTP, SSH, электронная почта Используйте TCP. Потоковые медиа, онлайн -игры Используйте UDP.

Надеюсь, эта небольшая информация даст вам базовое понимание TCP и UDP Не стесняйтесь жить в комментариях или свяжитесь со мной по адресу black_strok3

Оригинал: “https://dev.to/black_strok3/difference-between-udp-and-tcp-example-code-1pg1”