Мне нужно идентифицировать уникальный идентификатор Socket. Это правильный способ использования дескриптора сокета? Является ли дескриптор сокетов уникальным?Как идентифицировать (или подключать) идентификатор пользователя с входящим сокетом?
Например
QTcpSocket* pClientSocket = nextPendingConnection();
int id = pClientSocket->socketDescriptor();
User user(id);
/*...*/
void slotReadClient(){
socket = (QTcpSocket*)sender();
user = users.find(socket->socketDescriptor());
user->doAny();
}
Возможно, я что-то не понимаю, вы ищете уникальный идентификатор (то есть внутри процесса)? дескрипторы сокета действительны только в том случае, если сокет не закрыт. – Hasturkun
Когда происходит новое соединение, я должен сохранить некоторую вещь uniq в объекте. Посмотрите на образец. В новом слоте подключения я создаю объектные пользовательские и соединительные сигналы и слоты. В sloReadClient я хочу что-то изменить в объекте пользователя. Например (абстрактный код) QString name = read (socket); user-> SetName (имя); Но как определить сокет? У меня есть множество пользователей и нужно изменить нужный объект – Lunatik