参照qt带的例子中的多线程方式写的程序,在run函数中给客户端发送没问题,但是问题出现在run函数中接收不了客户端发来的信息。
代码:
void Threadclient::run()
{    
         QTcpSocket socket;    
        qDebug()<<"socketDescriptor =="<<socketDescriptor;    
        if(!socket.setSocketDescriptor(socketDescriptor))    
            {        
                emit error(socket.error());       
                 return;   
           }    //接收数据    
       QDataStream in (&socket);   
       in.setVersion(QDataStream::Qt_4_7);   
       if(blocksize==0)    
         {            
           qDebug()<<"clientsocket.bytesAvailable=="<<socket.bytesAvailable();           
           if(socket.bytesAvailable()<(int)sizeof(quint16)) 
               {                
                   return;           
               }            
         in >>blocksize;            
        qDebug()<<"blocksize=="<<blocksize;          
        if(socket.bytesAvailable()<blocksize)         
             {                
                  socket.close();              
                  return;                 
              }            
       QString type; 
       QString message;  
        in >>type;     
       if(type=="0x61")       
     {     
           //获取时间命令        
           in >>message;        
         qDebug()<<"message=="<<message;      
          return;           
     }    
   }
}
应该是在判断里给return了 怎么做能完成接收客户端发来的信息呢?求助·!~~~