1
void server::incomingConnection(qintptr socketDescriptor) {
qDebug() << "incoming connection";
connection* new_connection = new connection(this);
new_connection->set_socket_descriptor(socketDescriptor);
connect(new_connection, SIGNAL(ready_read()), this, SLOT(ready_read()));
connect(new_connection, SIGNAL(disconnected()), this, SLOT(disconnected()));
emit signal_new_connection(new_connection);
}
서버 클래스가 QTcpServer로부터 상속 및 연결 클래스 가 구성원으로 QTcpSocket을 가지고 있으며, 하려는 사용자에 대한 몇 가지 정보는 (이름, IP, ID를 ...)에 연결되어QTcpServer :: incomingConnection (qintptr socketDescriptor) 지정한 소켓에 연결할 수 있습니까?
내 문제는 내가 즉 new_connection에 대해 아무것도 모릅니다. 누가 서버에 연결하고 있는지 알아야합니다. 이런 이유로 나는 다시 연결하고 싶다 그러나 어떻게? 어떤 방법이 있니? 또는 연결된 소켓 (사용자)에서 데이터 (인사말 메시지)를받을 때까지 기다려야합니까?
QObject::sender()
방법을 사용할 수 있습니다를 얻으려면? 질문에 정보가 누락 된 것 같아요. – peppe내 말은 ,,, incomingConnection 함수로 초기화 된 임시 연결이 필요하거나 incomingConnection 함수에서 new_connection을 초기화 할 수 있습니까? (내 영어는 유감입니다) –
물론 가능합니다. 그렇다면'nextPendingConnection()'을 사용하여 멋지게 연결된 QTcpSocket을 얻지 않으시겠습니까? – peppe