38 QT7_ONLY(,
public QtPrivate::QAbstractSocketConstants)
47 UnknownSocketType = -1
51#if QT_VERSION < QT_VERSION_CHECK(7
, 0
, 0
)
52 enum NetworkLayerProtocol {
56 UnknownNetworkLayerProtocol = -1
58 Q_ENUM(NetworkLayerProtocol)
62 ConnectionRefusedError,
63 RemoteHostClosedError,
68 DatagramTooLargeError,
71 SocketAddressNotAvailableError,
72 UnsupportedSocketOperationError,
73 UnfinishedSocketOperationError,
74 ProxyAuthenticationRequiredError,
75 SslHandshakeFailedError,
76 ProxyConnectionRefusedError,
77 ProxyConnectionClosedError,
78 ProxyConnectionTimeoutError,
83 SslInvalidUserDataError,
86 UnknownSocketError = -1
103 MulticastLoopbackOption,
105 SendBufferSizeSocketOption,
106 ReceiveBufferSizeSocketOption,
109 KeepAliveIntervalOption,
110 KeepAliveCountOption,
114 DefaultForPlatform = 0x0,
116 DontShareAddress = 0x2,
117 ReuseAddressHint = 0x4
119 Q_DECLARE_FLAGS(BindMode, BindFlag)
122 PauseOnSslErrors = 0x1
124 Q_DECLARE_FLAGS(PauseModes, PauseMode)
126 QAbstractSocket(SocketType socketType, QObject *parent);
127 virtual ~QAbstractSocket();
129 virtual void resume();
130 PauseModes pauseMode()
const;
131 void setPauseMode(PauseModes pauseMode);
133 virtual bool bind(
const QHostAddress &address, quint16 port = 0,
134 BindMode mode = DefaultForPlatform);
135#if QT_VERSION >= QT_VERSION_CHECK(7
,0
,0
) || defined(Q_QDOC)
136 bool bind(QHostAddress::SpecialAddress addr, quint16 port = 0, BindMode mode = DefaultForPlatform)
137 {
return bind(QHostAddress(addr), port, mode); }
138 bool bind(quint16 port = 0, BindMode mode = DefaultForPlatform)
139 {
return bind(QHostAddress::Any, port, mode); }
141 bool bind(quint16 port = 0, BindMode mode = DefaultForPlatform);
144 virtual void connectToHost(
const QString &hostName, quint16 port, OpenMode mode = ReadWrite, NetworkLayerProtocol protocol = AnyIPProtocol);
145 void connectToHost(
const QHostAddress &address, quint16 port, OpenMode mode = ReadWrite);
146 virtual void disconnectFromHost();
148 bool isValid()
const;
150 qint64 bytesAvailable()
const override;
151 qint64 bytesToWrite()
const override;
153 quint16 localPort()
const;
154 QHostAddress localAddress()
const;
155 quint16 peerPort()
const;
156 QHostAddress peerAddress()
const;
157 QString peerName()
const;
159 qint64 readBufferSize()
const;
160 virtual void setReadBufferSize(qint64 size);
164 virtual qintptr socketDescriptor()
const;
165 virtual bool setSocketDescriptor(qintptr socketDescriptor, SocketState state = ConnectedState,
166 OpenMode openMode = ReadWrite);
168 virtual void setSocketOption(QAbstractSocket::SocketOption option,
const QVariant &value);
169 virtual QVariant socketOption(QAbstractSocket::SocketOption option);
171 SocketType socketType()
const;
172 SocketState state()
const;
173 SocketError error()
const;
176 void close() override;
177 bool isSequential()
const override;
181 virtual bool waitForConnected(
int msecs = 30000);
182 bool waitForReadyRead(
int msecs = 30000) override;
183 bool waitForBytesWritten(
int msecs = 30000) override;
184 virtual bool waitForDisconnected(
int msecs = 30000);
186#ifndef QT_NO_NETWORKPROXY
187 void setProxy(
const QNetworkProxy &networkProxy);
188 QNetworkProxy proxy()
const;
189 QString protocolTag()
const;
190 void setProtocolTag(
const QString &tag);
197 void stateChanged(QAbstractSocket::SocketState);
198 void errorOccurred(QAbstractSocket::SocketError);
199#ifndef QT_NO_NETWORKPROXY
200 void proxyAuthenticationRequired(
const QNetworkProxy &proxy, QAuthenticator *authenticator);
204 qint64 readData(
char *data, qint64 maxlen) override;
205 qint64 readLineData(
char *data, qint64 maxlen) override;
206 qint64 skipData(qint64 maxSize) override;
207 qint64 writeData(
const char *data, qint64 len) override;
209 void setSocketState(SocketState state);
210 void setSocketError(SocketError socketError);
211 void setLocalPort(quint16 port);
212 void setLocalAddress(
const QHostAddress &address);
213 void setPeerPort(quint16 port);
214 void setPeerAddress(
const QHostAddress &address);
215 void setPeerName(
const QString &name);
217 QAbstractSocket(SocketType socketType, QAbstractSocketPrivate &dd, QObject *parent =
nullptr);
220 Q_DECLARE_PRIVATE(QAbstractSocket)
221 Q_DISABLE_COPY_MOVE(QAbstractSocket)
223 Q_PRIVATE_SLOT(d_func(),
void _q_connectToNextAddress())
224 Q_PRIVATE_SLOT(d_func(),
void _q_startConnecting(
const QHostInfo &))
225 Q_PRIVATE_SLOT(d_func(),
void _q_abortConnectionAttempt())
226 Q_PRIVATE_SLOT(d_func(),
void _q_testConnection())