예제 #1
0
void SocksServer::sd_activated()
{
	while (d->sd->hasPendingDatagrams()) {
		QByteArray datagram;
		QHostAddress sender;
		quint16 senderPort;
		datagram.resize(d->sd->pendingDatagramSize());
		d->sd->readDatagram(datagram.data(), datagram.size(), &sender, &senderPort);
		incomingUDP(sender.toString(), senderPort, d->sd->peerAddress(), d->sd->peerPort(), datagram);
	}
}
예제 #2
0
파일: socks.cpp 프로젝트: psi-im/iris
void SocksServer::sd_activated()
{
    while (d->sd->hasPendingDatagrams()) {
        QByteArray datagram(d->sd->pendingDatagramSize(), Qt::Uninitialized);
        QHostAddress sender;
        quint16 senderPort;
        auto sz = d->sd->readDatagram(datagram.data(), datagram.size(), &sender, &senderPort);
        if (sz >= 0) {
            datagram.truncate(sz);
            incomingUDP(sender.toString(), senderPort, d->sd->peerAddress(), d->sd->peerPort(), datagram);
        }
    }
}