Author Topic: WCL_E_CONNECTION_REJECTED instead of timeout  (Read 6864 times)

Nature

  • Guest
WCL_E_CONNECTION_REJECTED instead of timeout
« on: March 25, 2010, 01:25:42 PM »
Hi there

wcl.dll 6.7.1.0

We have been noticing a lot of rejected connections when trying to send to phones when I think it should be returning a timeout instead.

When handling the wcl.wclOPPClient.OnConnect event I get the following value returned under two circumstances
e.Error == 46 (wcl.wclErrors.WCL_E_CONNECTION_REJECTED)

1) If the user has chosen to reject the incoming file.
2) If the user has not noticed the incoming file and has not clicked either accept or reject. Surely a better response here would be 43 (wcl.wclErrors.WCL_E_TIMEOUT)

AN example of a phone that this occurs with is a Nokia 6230i

My problem is that I need to distinguish between these two scenarios so that I can retry to those users who were not quick enough to click accept the first time around but not retry to those users who have clicked reject.

Is there some way to get the socket error that must have occurred and been caught inside wcl so that I can profile the difference between these results and respond correctly?

Many thanks
Martin

Nature

  • Guest
Re: WCL_E_CONNECTION_REJECTED instead of timeout
« Reply #1 on: March 25, 2010, 01:29:53 PM »
Sorry I should also have said

OS = Windows XP Service Pack 3
Bluetooth Stack = Microsoft

Offline Mike Petrichenko

  • Bluetooth Framework Developer
  • Administrator
  • Hero Member
  • *****
  • Posts: 3675
  • Karma: 1000
    • Wireless Communication Libraries
Re: WCL_E_CONNECTION_REJECTED instead of timeout
« Reply #2 on: March 25, 2010, 01:39:11 PM »
There is no way to get any socket error as sockets is very specific thing. Also the error depends on phone.

Also, if phones timeout value is less than PC one then you will never get timeout error. It will appear as rejected error.

Nature

  • Guest
Re: WCL_E_CONNECTION_REJECTED instead of timeout
« Reply #3 on: March 26, 2010, 11:39:43 AM »
Do this mean there is no way to distinguish between the user pressing Reject or not? This is really important we need to know whether to try a phone again or not. What would you recommend as a strategy to solve this? eg use a really long timeout...

Offline Mike Petrichenko

  • Bluetooth Framework Developer
  • Administrator
  • Hero Member
  • *****
  • Posts: 3675
  • Karma: 1000
    • Wireless Communication Libraries
Re: WCL_E_CONNECTION_REJECTED instead of timeout
« Reply #4 on: March 26, 2010, 11:46:48 AM »
In common case there is no way to know what happened on phones side. All depends on what phone returns to PC and when. It is impossible to controlk phones firmware from PC.

 

Sitemap 1 2 3 4 5 6 7