реализуйте операторы (должны быть inline):
QDataStream & operator>> (QDataStream & s, YourStruct &y)
QDataStream & operator<< (QDataStream & s, const YourStruct &y)
только незабудьте задекларировать свою структуру:
qRegisterMetaType<YourStruct >();
qRegisterMetaStreamOperators<YourStruct >("YourStruct");
затем передавайте свою структуру в поток и считуйте:
QTcpSocket * client;
client->connectToHost(hostName,portNum);
QDataStream out(client);
YourStruct struct;
out<<struct;
Непонятно, почему обязательно inline? И зачем обязательно регистрировать если планируется явное объявление YourStruct и прямой вызов оператора <<, без использования QVariant и QMetaType? Хотя конечно, если зарегистрировать - хуже не станет