41 QT7_ONLY(,
public QtPrivate::QAbstractSocketConstants)
44 Q_MOC_INCLUDE(<QtNetwork/qauthenticator.h>)
51 UnknownSocketType = -1
55#if QT_VERSION < QT_VERSION_CHECK(7
, 0
, 0
)
56 enum NetworkLayerProtocol {
60 UnknownNetworkLayerProtocol = -1
62 Q_ENUM(NetworkLayerProtocol)
66 ConnectionRefusedError,
67 RemoteHostClosedError,
72 DatagramTooLargeError,
75 SocketAddressNotAvailableError,
76 UnsupportedSocketOperationError,
77 UnfinishedSocketOperationError,
78 ProxyAuthenticationRequiredError,
79 SslHandshakeFailedError,
80 ProxyConnectionRefusedError,
81 ProxyConnectionClosedError,
82 ProxyConnectionTimeoutError,
87 SslInvalidUserDataError,
90 UnknownSocketError = -1
107 MulticastLoopbackOption,
109 SendBufferSizeSocketOption,
110 ReceiveBufferSizeSocketOption,
115 DefaultForPlatform = 0x0,
117 DontShareAddress = 0x2,
118 ReuseAddressHint = 0x4
120 Q_DECLARE_FLAGS(BindMode, BindFlag)
123 PauseOnSslErrors = 0x1
125 Q_DECLARE_FLAGS(PauseModes, PauseMode)
127 QAbstractSocket(SocketType socketType, QObject *parent);
128 virtual ~QAbstractSocket();
130 virtual void resume();
131 PauseModes pauseMode()
const;
132 void setPauseMode(PauseModes pauseMode);
134 virtual bool bind(
const QHostAddress &address, quint16 port = 0,
135 BindMode mode = DefaultForPlatform);
136#if QT_VERSION >= QT_VERSION_CHECK(7
,0
,0
) || defined(Q_QDOC)
137 bool bind(QHostAddress::SpecialAddress addr, quint16 port = 0, BindMode mode = DefaultForPlatform)
138 {
return bind(QHostAddress(addr), port, mode); }
139 bool bind(quint16 port = 0, BindMode mode = DefaultForPlatform)
140 {
return bind(QHostAddress::Any, port, mode); }
142 bool bind(quint16 port = 0, BindMode mode = DefaultForPlatform);
145 virtual void connectToHost(
const QString &hostName, quint16 port, OpenMode mode = ReadWrite, NetworkLayerProtocol protocol = AnyIPProtocol);
146 void connectToHost(
const QHostAddress &address, quint16 port, OpenMode mode = ReadWrite);
147 virtual void disconnectFromHost();
149 bool isValid()
const;
151 qint64 bytesAvailable()
const override;
152 qint64 bytesToWrite()
const override;
154 quint16 localPort()
const;
155 QHostAddress localAddress()
const;
156 quint16 peerPort()
const;
157 QHostAddress peerAddress()
const;
158 QString peerName()
const;
160 qint64 readBufferSize()
const;
161 virtual void setReadBufferSize(qint64 size);
165 virtual qintptr socketDescriptor()
const;
166 virtual bool setSocketDescriptor(qintptr socketDescriptor, SocketState state = ConnectedState,
167 OpenMode openMode = ReadWrite);
169 virtual void setSocketOption(QAbstractSocket::SocketOption option,
const QVariant &value);
170 virtual QVariant socketOption(QAbstractSocket::SocketOption option);
172 SocketType socketType()
const;
173 SocketState state()
const;
174 SocketError error()
const;
177 void close() override;
178 bool isSequential()
const override;
182 virtual bool waitForConnected(
int msecs = 30000);
183 bool waitForReadyRead(
int msecs = 30000) override;
184 bool waitForBytesWritten(
int msecs = 30000) override;
185 virtual bool waitForDisconnected(
int msecs = 30000);
187#ifndef QT_NO_NETWORKPROXY
188 void setProxy(
const QNetworkProxy &networkProxy);
189 QNetworkProxy proxy()
const;
190 QString protocolTag()
const;
191 void setProtocolTag(
const QString &tag);
198 void stateChanged(QAbstractSocket::SocketState);
199 void errorOccurred(QAbstractSocket::SocketError);
200#ifndef QT_NO_NETWORKPROXY
201 void proxyAuthenticationRequired(
const QNetworkProxy &proxy, QAuthenticator *authenticator);
205 qint64 readData(
char *data, qint64 maxlen) override;
206 qint64 readLineData(
char *data, qint64 maxlen) override;
207 qint64 skipData(qint64 maxSize) override;
208 qint64 writeData(
const char *data, qint64 len) override;
210 void setSocketState(SocketState state);
211 void setSocketError(SocketError socketError);
212 void setLocalPort(quint16 port);
213 void setLocalAddress(
const QHostAddress &address);
214 void setPeerPort(quint16 port);
215 void setPeerAddress(
const QHostAddress &address);
216 void setPeerName(
const QString &name);
218 QAbstractSocket(SocketType socketType, QAbstractSocketPrivate &dd, QObject *parent =
nullptr);
221 Q_DECLARE_PRIVATE(QAbstractSocket)
222 Q_DISABLE_COPY_MOVE(QAbstractSocket)
224 Q_PRIVATE_SLOT(d_func(),
void _q_connectToNextAddress())
225 Q_PRIVATE_SLOT(d_func(),
void _q_startConnecting(
const QHostInfo &))
226 Q_PRIVATE_SLOT(d_func(),
void _q_abortConnectionAttempt())
227 Q_PRIVATE_SLOT(d_func(),
void _q_testConnection())