Есть вопрос об этом раньше, ответ - нет. Но теперь, с помощью браузера/webpack, могу ли я просто написать код, как я бы на сервере, и он будет запущен в браузере, или есть какие-то ограничения, которые сделали бы это невозможным?Можно ли запустить сервер socket.io/websocket в браузере?
ответ
Нет, вы не можете. Запуск сервера в браузере требует доступа к функциям низкого уровня, которых просто не существует в браузере. Browserify не может добавить к браузеру основные низкоуровневые функции, которых у него нет, что потребует дополнительной поддержки собственного кода, чтобы сделать работу.
Browserify может только пакетный код, который является либо чистым Javascript, либо построен поверх инфраструктуры, которая уже существует в браузере, или может быть смоделирована с помощью некоторого чистого javascript, созданного поверх функций, существующих в браузере.
Так, например, вы можете взять библиотеку crypto hash из node.js, которая является чистым javascript, и не полагается на какие-либо возможности, которых нет в браузере, и вы можете ее прокрутить (например, переупаковать) это в браузере. Но вы не могли взять пакет node.js, который использует низкоуровневую связь UDP, поскольку базовый доступ к UDP отсутствует в браузере.
В общем случае, если код node.js выполняет I/O или управляет другими процессами или использует любой модуль с собственным кодом, он, скорее всего, не будет работать с браузером (есть несколько обходов с некоторыми файлами ввода/О).
Для получения дополнительной информации см:
Does Browserify have any limitations?
Таким образом, вы не говорите, что ваша текущая проблема заключается в том, что вы пытаетесь решить, но, как правило, вы бы запустите фактический сервер где-нибудь и подключите браузер к этому серверу. Если вы хотите, чтобы какой-то конкретный сеанс браузера отображался как «ведущий», вы, безусловно, могли бы сделать ваш клиент/сервер таким образом. Одним из клиентов может быть мастер (по сути, сам сервер) для других клиентов, подключенных к тому же серверу. Это будет сделано с помощью того, как вы запрограммировали свой сервер и как он общался с различными клиентами, которые подключаются к нему. Фактические серверы могут быть прокси-серверами для других клиентов, где клиент получает доступ к серверным функциям через прокси-соединение с фактическим сервером.
- 1. Можно ли запустить JSShaper в браузере?
- 2. Можно ли запустить тесты Appium на браузере?
- 3. Stage.RESIZE: Можно ли запустить этот пример в браузере?
- 4. Можно ли запустить операцию PHP SOAP API в веб-браузере
- 5. как можно запустить video.js в браузере phantomjs
- 6. клиентский сервер в браузере?
- 7. Возможно ли запустить приложение JavaFX в браузере?
- 8. Как запустить node.js в браузере через сервер Apache Linux?
- 9. Возможно ли запустить сценарий оболочки в браузере
- 10. Как запустить простой xquery? Можно ли запустить XQuery в самом браузере?
- 11. Возможно ли запустить сервер RMI в tomcat?
- 12. Можно ли отключить CSS в любом браузере?
- 13. Можно ли переопределить контекстное меню в браузере?
- 14. Можно ли остановить переадресацию JavaScript в браузере?
- 15. Как можно запустить ftp-сервер, используя php?
- 16. Я не могу запустить свой сервер AWS/EC2 в браузере
- 17. Socket.io сервер в браузере
- 18. Как запустить Wamp-сервер?
- 19. Можно ли эмулировать ftp-сервер?
- 20. Можно ли запустить несколько AsyncTasks
- 21. Можно ли установить Emule на частный сервер?
- 22. Возможно ли запустить модель RepastJ в веб-браузере?
- 23. Можно ли открыть файл .exe в браузере с сервера?
- 24. Возможно ли запустить тест транспортира с головкой в удаленном браузере?
- 25. Запустить html-файл в браузере
- 26. запустить приложение swing в браузере
- 27. Запустить приложение WPF в браузере
- 28. Можно ли проверить, установлено ли расширение в браузере (JS)?
- 29. Запустить сервер, запустить тесты, остановить сервер
- 30. как запустить node.js клиент в браузере