Я работаю в системе, подобной dropbox, и мне интересно, как клиент получает уведомление при изменении файлов на стороне сервера.У меня сложилось впечатление, что как dropbox, так и ubuntu one работают через порты HTTP и работают следующим образом: 1. если файлы изменяются на клиентском компьютере, inotify обнаруживает это и выполняет предварительную передачу с клиента на сервер.(Я получаю эту часть) 2. Если файлы изменяются на сервере, с сервера клиенту отправляется простое незапрошенное уведомление (просто сообщение о времени синхронизации).Затем клиент инициирует синхронизацию с сервером.
Мне действительно все равно, на каком языке я это делаю. Мне просто интересно, как с клиентом связываются.В частности, что если клиент находится за брандмауэром со своими собственными локальными IP-адресами.Как сервер его обнаруживает?
Кроме того, какие протоколы обмена сообщениями будут использоваться для таких действий?Я планировал сделать это через HTTP или SSH, но у меня нет вложения, чтобы сделать это.