title: Update client's GUI widget from Server with RFC widget
body: <p>I make simple GUI chat program with python</p>
  
  <p>from server call callback function:</p>
  
  <pre><code>def broadcast(self, msg):
      with lock:
          print("bloadcast calls")
          global callbacks
          global buf
          for user, callback in callbacks.items():
              if user not in buf or buf[user] == None:
                  buf[user] = (msg,)
              else:
                  buf[user] = buf[user] + (msg,)
              callback()
  </code></pre>
  
  <p>callback function emits client signal</p>
  
  <pre><code>service.root.accept(idt, chat.update.update.emit)
  </code></pre>
  
  <p>In server's accept function</p>
  
  <pre><code>callbacks[idt] = rpyc.async(callback)
  </code></pre>
  
  <p>this is it</p>
  
  <pre><code>class Updater(QObject):
      update = pyqtSignal()
  </code></pre>
  
  <p>In my client class</p>
  
  <pre><code>self.update = Updater()
  self.update.update.connect(self.listen)
  </code></pre>
  
  <p>and listen method is</p>
  
  <pre><code>def listen(self):
      msg = self.service.root.get_buf(self.idt)//get server's message by call server's function
      for m in msg:
          self.log.append(m)
  </code></pre>
  
  <p>so server call callback function and that make signal in client that update GUI widget</p>
  
  <p>when there is one client, it works well.  but when there is more than one client, for example client A and client B, A -message-> server and server update only A's GUI widget.  And B's callback blocked until B send message to server.  I want that client's GUI update call immediately like interupt call</p>
  
  <p>How can I do that?</p>