Как решить проблемы с сетевым подключением в Clarion?
Речь идет не о "сетевом программировании", а о том, как решить проблему, которая возникает, когда клиент запускает приложение, расположенное на сервере, и сетевое соединение временно прерывается.
Мой фон находится в.Net. И я понимаю, что если я запускаю приложение, расположенное на другом компьютере, то.exe с удаленного компьютера загружается в память на клиентском компьютере... это означает, что в.Net я мог бы поймать исключение, когда сеть идет вниз и справиться с этим.
Я пока не очень разбираюсь в Clarion, но есть система Point Of Sale, которую я использую, которая всегда дает сбой при отключении сети, написанная на Clarion. Программист заверяет меня, что когда сеть отключается, я больше не подключен к их приложению, которое находится на сервере (я не согласен с этим, потому что, как упоминалось ранее, я считаю, что приложение уже находится в памяти на клиенте).
Можно ли решить эту проблему в приложении Clarion, и, что более важно, если да, то как вы можете решить эту проблему?
РЕДАКТИРОВАТЬ: Кроме того, я могу видеть, как может быть проблема, если к определенной DLL, которая еще не была загружена в память, к ней обращаются, но для целей этого вопроса предположим, что это не так. Я могу заставить эту проблему возникать практически в любое время, когда захочу, отключив сетевой кабель, так что я уверен, что это не проблема (или, по крайней мере, 99% времени).
2 ответа
Приложение может находиться в памяти на клиенте, но при сбое сети соединение с данными может быть потеряно. Если это не обрабатывается в коде, клиент может определенно зависнуть. NETTalk, несмотря на фантастическую надежность, может не соответствовать вашим требованиям в этой ситуации.
После любого Get
, Set/Next
, Add
, Put
и т. д., вы должны проверять ошибки:
Get(File, Key)
IF ErrorCode()
!Show error message and ask to retry, etc.
Message('Error '&ErrorCode()&' - '&Error())
End
Вы также можете проверить FileError()
что даст вам более подробную информацию об ошибках, связанных с файлами.
Да, на Capesoft.com есть хороший набор шаблонов / расширение, которое называется NetTalk. Я написал много сетевых приложений с этим, и он отлично работает. Примеры показывают, как программировать веб-сервер, Mailclient и так далее. Я думаю, что многие основные сетевые функции будут соответствовать вашим потребностям.
Веселись, Мик