Описание тега qabstractsocket
Класс QAbstractSocket обеспечивает базовую функциональность, общую для всех типов сокетов.
QAbstractSocket является базовым классом для QTcpSocket и QUdpSocket и содержит все общие функции этих двух классов. Если вам нужна розетка, у вас есть два варианта:
- Создайте экземпляр QTcpSocket или QUdpSocket.
- Создайте дескриптор собственного сокета, создайте экземпляр QAbstractSocket и вызовите setSocketDescriptor(), чтобы обернуть собственный сокет.
TCP (протокол управления передачей) - это надежный транспортный протокол, ориентированный на потоки и соединения. UDP (протокол дейтаграмм пользователя) - ненадежный, ориентированный на дейтаграммы протокол без установления соединения. На практике это означает, что TCP лучше подходит для непрерывной передачи данных, тогда как более легкий UDP можно использовать, когда надежность не важна.
API QAbstractSocket объединяет большинство различий между двумя протоколами. Например, хотя UDP не требует установления соединения, connectToHost() устанавливает виртуальное соединение для сокетов UDP, позволяя вам использовать QAbstractSocket более или менее одинаково независимо от базового протокола. Внутри QAbstractSocket запоминает адрес и порт, переданные в connectToHost(), и такие функции, как read() и write(), используют эти значения.