简体   繁体   中英

socket python : recvfrom

I would like to know if socket.recvfrom in python is a blocking function ? I couldn't find my answer in the documentation If it isn't, what will be return if nothing is receive ? An empty string '' ? In the other case, if in fact, it is blocking, how can i do to put it as an unblocking function ? I heard about settimeout but I don't know if it is actually the right solution.

By default it is blocking. It can be turned into non-blocking via socket.setblocking(0) or (equivalently) socket.settimeout(0) . In that case if there is nothing to receive it will throw socket.error exception. See the docs: https://docs.python.org/2/library/socket.html#socket.socket.setblocking

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM