Page 1 of 1

Error on Synchronization through Bluetooth

Posted: June 23rd, 2020, 3:32 pm
by khurshid.arshad
Dear CSPro Team;

I have more than 3000 kml files in my application and total size of these files is 27.4 MB.

I can get only 963 kml files through Bluetooth from Supervisor to Enumerator tablet.

Error on Supervisor’s Tablet
CSEntry Error 100101
Error connecting to server: Server responded with error 195

Error on Enumerator’s Tablet
CSEntry Error 100101
Error connecting to server: Error reading server response

Code: Select all

	if NSER_FIX_ID=5 then//Supervisor login
		if syncconnect(Bluetooth) then
			SDPath = pathname(CSEntry);
			syncfile(PUT, concat(SDPath, "KML/*.kml"),  	"KML/");
			syncdisconnect();
		else
		endif
	elseif NSER_FIX_ID=6 then//enumerator login
		If	syncserver (Bluetooth, "..") then 	// Get the Assigned Enumeration Area from the Supervisor
			syncdisconnect();
		else
		endif;

	endif;

Please advice.
Thanks.
a.

Re: Error on Synchronization through Bluetooth

Posted: June 23rd, 2020, 6:43 pm
by josh
The 195 error can happen for a few reasons: failed to open a file, failed to create a directory, attempt to read/write a file outside the CSEntry directory... You would get more information by looking in the sync.log on the supervisor tablet.

I can't think of a reason why transferring that many files would be a problem but I don't think I've ever tried to transfer more than a few hundred. You could consider using the compress function to create a single zip file that you transfer and then using decompress on the other end once you have received it. The downside of that approach is that it if you have a scenario where only one or two of the files change you would still transfer the whole zip file rather than just those that changed. However, since you are using PUT, CSPro does will always send all the files anyway. If you were to use GET to download the files from the supervisor tablet rather than having the supervisor tablet use PUT then it would be smart enough to only send the files that had changed since the last sync. That optimization only works for GET, not for PUT.