Not logged in. · Lost password · Register
Forum: MatriX Mobile (Compact Framework) RSS
SendIqSynchronous get never returns
Beaker #1
Member since Mar 2010 · 7 posts
Group memberships: Members
Show profile · Link to this post
Subject: VCard
the following is from the MiniClient and works for the account used to test

            viq = new VcardIq() {Type = IqType.get, To = _jid.Bare};
          
            xmppClient.IqFilter.SendIq(viq, VcardResult, null);

however, when I replace the second line with this

            Iq iq = xmppClient.IqFilter.SendIqSynchronous(viq, 3000);

no matter how long the timeout, the call always times out and returns null

Thanks in advance
Beaker #2
Member since Mar 2010 · 7 posts
Group memberships: Members
Show profile · Link to this post
Subject: Additional detail
Placing this call onto a background thread helps some but the IqFilter does not seem to be able to accept VCardResult if the GUI thread has not returned.

gui_click
{
   Threadstart x = new Threadstart(MethodThatCallsSendIqSynchronously);
   Thread t = new Thread(x);
   t.start();
   Thread.Sleep(10000);
}

if gui_click does not return before the SendIqSynchronous timeout, SendIqSynchronous returns null
This post was edited on 2010-03-25, 21:48 by Beaker.
Avatar
Alex #3
Member since Feb 2003 · 2575 posts · Location: Germany
Group memberships: Administrators, Members
Show profile · Link to this post
The Synchronous IqFilter must be in a seperate thread like described here:
http://agsdn.ag-software.de/mdg/#filters-synchronous-iq-fi…

otherwise you app blocks MatriX and they time out. Why are you not using the Asynchronous IqFilters?

Alex
Alexander Gnauck
AG-Software
Close Smaller – Larger + Reply to this post:
Verification code: VeriCode Please enter the word from the image into the text field below. (Type the letters only, lower case is okay.)
Smileys: :-) ;-) :-D :-p :blush: :cool: :rolleyes: :huh: :-/ <_< :-( :'( :#: :scared: 8-( :nuts: :-O
Special characters: