Найти - Пользователи
Полная версия: Сокеты, сокеты....
Начало » Python для новичков » Сокеты, сокеты....
1
DamMercul
Да, опять вопрос про них, я очень хочу погрузиться в web-программирование, познать все уровни OSI. Вопросы:
1) В чем разница между методами recvfrom и recv?
2) Что такое блокируюущий сокет и нет?
3) Как установить UDP соединение с модулем socket (Что-то слышал про конст. SOCK_DGRAM)

Я буду рад если ответят хотя-бы на 1 вопрос. Спасибо большое заранее, надеюсь не слишком много спрашиваю.

P.S. Я гуглил, ничего кроме вырезанных кусков из википедии и документации на английском я не нашел(я знаю английский но не его терминологию, я учу только базу, как в школе, технического англ. почти не знаю, буду учить)
vic57
дак и смотри оффдоки, если с англицкий гут
https://github.com/python/cpython/blob/3.7/Lib/socket.py
https://github.com/python/cpython/blob/3.7/Lib/socketserver.py
py.user.next
DamMercul
Как установить UDP соединение с модулем socket
Протокол UDP не предполагает соединений. Это протокол, в котором пакеты передаются в сеть и забываются и потом ты просто ждёшь ответ, который может и не прийти.

DamMercul
В чем разница между методами recvfrom и recv?
https://docs.python.org/3/library/socket.html#socket.socket.recv
https://docs.python.org/3/library/socket.html#socket.socket.recvfrom

recv возвращает сообщение, которое пришло.
recvfrom возвращает ещё и адрес, откуда пришло сообщение. (Они же могут с разных адресов приходить.)

DamMercul
2) Что такое блокируюущий сокет и нет?
Блокирующий сокет переходит в режим ожидания данных, когда данных нет (программа виснет в методах типа recv(), ожидая данные). Неблокирующий сокет просто сообщает, что данных нет (происходит выход из методов типа recv() без ожидания данных).

vic57
дак и смотри оффдоки
Документация находится https://docs.python.org/ , на GitHub'е лежат исходники модулей и исходники документации, из которых она собирается.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB