我有一個線程服務器。連接啓動後將QTcpSocket移動到一個新線程
與QTcpSocket需要被它需要跑線,FI創建於:通過傳遞套接字描述符Qt - Handle QTcpSocket in a new thread。
我的問題是,我需要有線程池和移動插座上的一個特定的線程後,客戶端已派出其上線的插座必須定義一個特定的標記。
換句話說,我需要讀取插槽知道哪個線程事先放置。
一些想法是先綁定到與QTcpSocket,讀,然後發送描述符線程並創建另一個與QTcpSocket但醫生說:
注:這是不可能的初始化兩個抽象插座與 相同的本地套接字描述符。
另一種解決方案是在分離的線程中創建套接字,然後將兩個線程連接在一起,但我不知道這是否可能。
或許能夠在子線程調用上之前setSocketDescriptor閱讀在主線程中的socket描述符,如果這甚至有可能?
出於好奇,爲什麼你必須使客戶端告訴你,你必須在運行'QTcpSocket'哪個線程? – Mike
*定義在哪個線程上套接字需要的特定標記* - 我想知道如何指定套接字需要的線程。 AFAIK在創建線程時不能指定線程ID。如果你想指定線程名稱,你可以調用thread-> setObjectName(「Name」),這與套接字無關。 – rightaway717
你爲什麼不簡單地做socket-> moveToThread(otherthread)? –