## Receive Udp ```python from PySide6.QtCore import * from PySide6.QtGui import * from PySide6.QtWidgets import * from PySide6.QtNetwork import * class MyWidget(QWidget): def handleUdp(self): while self.udpSocket.hasPendingDatagrams(): datagram = self.udpSocket.receiveDatagram(4096) data = datagram.data().data() self.process_data(data.decode()) def __init__(self, parent=None): super().__init__(parent) self.udpSocket = QUdpSocket() self.udpSocket.readyRead.connect(self.handleUdp) self.udpSocket.bind(QHostAddress.Any,in_port) def process_data(self,data): # do something with data ``` ## Notes if `bind` fails, it returns `False`, rather than raising an exception. The usual cause of `bind` failing is that the address is already in use. This can be useful if you only want one instance of a program running. See for example [sleepqt](/lang/python/qt/PySide6/examples/sleepqt).