Я бы порекомендовал использовать хорошо протестированные библиотеки, если это возможно.Особенно для SSH-стороны SFTP - поскольку ошибки в реализации могут привести к уязвимостям безопасности.
Тем не менее, вы кажетесь опытным человеком, и вы можете обнаружить, что ни одна из библиотек там ( SharpSSH) и т. Д.), Вы должны рассмотреть возможность разделения вашей сетевой реализации на ее собственную библиотеку и открыть ее по двум причинам:
- Если это полезно для вас, это может быть полезнокому-то еще.
- Вы могли бы получить полезный обзор кода
Учитывая все это, другие руководящие указания будут аналогичны другим разработкам, но, возможно, сбольше строгости в отношении безопасности и тестирования.Удостоверьтесь, что вы выполняете статический анализ и что вы юнит-тестирование для случаев отказа.
Также: используйте, но не доверяйте нижним уровням модели OSI , которыепредоставляются для вас.Если есть сценарий, который нарушает ваш код, вы можете поспорить, что сеть в конечном итоге найдет его.
Надеюсь, это поможет.