Уведомления

Группа в Telegram: @pythonsu

#1 Июль 26, 2018 11:59:04

DamMercul
Зарегистрирован: 2017-11-26
Сообщения: 325
Репутация: +  13  -
Профиль   Отправить e-mail  

Сокеты, сокеты....

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

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

P.S. Я гуглил, ничего кроме вырезанных кусков из википедии и документации на английском я не нашел(я знаю английский но не его терминологию, я учу только базу, как в школе, технического англ. почти не знаю, буду учить)



____________________________________________________

 # Life loop
while alive:
    if (fun > boredom) and money:
        pass_day(fun, boredom, money)
        continue
    else: break

Офлайн

#2 Июль 26, 2018 13:11:07

vic57
Зарегистрирован: 2015-07-07
Сообщения: 913
Репутация: +  127  -
Профиль  

Сокеты, сокеты....

дак и смотри оффдоки, если с англицкий гут
https://github.com/python/cpython/blob/3.7/Lib/socket.py
https://github.com/python/cpython/blob/3.7/Lib/socketserver.py

Отредактировано vic57 (Июль 26, 2018 13:13:15)

Офлайн

#3 Июль 26, 2018 21:13:53

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 10022
Репутация: +  857  -
Профиль   Отправить e-mail  

Сокеты, сокеты....

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'е лежат исходники модулей и исходники документации, из которых она собирается.



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version