0 votes
by (130 points)
edited

I have an inhouse application written using C# (.NET version: 2.0.7045.0), running on a Symbol MC1000 running Windows CE 5.0, comms are through the cradle connected via USB. Using Rebex version: 3.0.3854.0

Background: Originally, this application used handrolled FTP code which worked 100% on Windows XP SP2. But when moving to Windows 7 (with latest service pack and updates)it started failing. So, we changed to the Rebex library, assuming that it was our FTP code. This seemed to fix the problem.

But later on windows 7, we started seeing this exception during Connect():

Rebex.Net.FtpException at Rebex.Net.Ftp.Connect() at Rebex.Net.Ftp.Connect() ... at System.Threading.Timer.ring() An existing connection was forcibly closed by the remote host.

Now here's the weird thing. When that occurs, if prior to restarting the app, I open a windows command prompt and manually login to the secure FTP site, and then retry the app, it works!!

I've only tried the command prompt 'trick' whilst running in the VS2008 debugger; but the exception occurs running in debugger and standalone executable.

Using Windows Mobile Device Centre (everything worked under Windows XP using Active Sync)

Any Ideas?

Releated question: FTP error from wince 5.0 device

Applies to: Rebex FTP/SSL
by (73.5k points)
edited

How is the device connected to the network? Are you using ActiveSync?

It seems you are experiencing the same ActiveSync issue as described here.

1 Answer

0 votes
by (73.5k points)
edited

Thank you for the updated information.

It is strange that it started failing "suddenly". Do you think it is related to a Rebex component update or rather Windows 7 or Windows Mobile Device Center update? (You can always download any Rebex past release - in the case a past release doesn't fail, we can move forward more easily).

But I am afraid this needs a deeper investigation of the problem. The error is caused by the Socket error 10054 which arises when the connection was closed abnormally by various reasons.

I suggest this procedure:

  1. try the latest Rebex build - version 2012 R2 (4.0.4546) at the moment
  2. if you have upgraded Rebex components recently (to your current version 3.0.3854), try your previous version (to ensure no bug was introduced into new versions)
  3. if still failing, please send the communication log in Debug level to support@rebex.net. If it is possible, please send us also the communication log of your server. I would like to see whether the client was able to reach the server (because it fails inside the Connect() method). May be the log of the server shows some additional information.
...