Я искал использование websocketd в качестве сервера веб-сокетов, но я не вижу, как его можно использовать для ответа на полный набор событий в сети, таких как onerror и onclose.Как обрабатывать полный набор событий websocket в websocketd?
ответ
То, о чем вы просите, это не то, как это работает. Вы не программируете websocketd, и у него нет никаких событий. Вы используете автономный инструмент для переноса некоторой другой программы, а затем каждое входящее соединение запускает экземпляр программы, которую вы настроили для ее переноса. Затем любые входящие сообщения отправляются на stdin этой программы, и любой ответ stdout из программы отправляется обратно клиенту, подключенному к серверу websocket. Вы можете думать об этом как о инструменте, который просто передает входящие сообщения веб-узлов в stdin вашего приложения и фиксирует вывод и передает его обратно клиенту.
Как вы, по-видимому, знаете, идея состоит в том, что без какого-либо программирования на сервере вы можете создать удаленный интерфейс для любого инструмента командной строки на вашем компьютере (с соответствующими предостережениями/рисками), которые ожидают получить его ввод от stdin и записывает свой вывод в stdout. Этот удаленный интерфейс может находиться на веб-странице или может быть любой другой программой, которую вы пишете, которая использует webSocket для связи с сервером websocketd, который вы настроили и запускаете на своем хосте. Таким образом, вы пишете только клиентскую сторону. В документе websocketd не говорится, что он делает с выходом, который он находит на stderr.
Когда клиент веб-сокета подключается к этому серверу веб-сервера, будет запущен экземпляр вашей программы. Итак, по сути, событие onconnect
- это то, что ваша программа началась. Когда клиент отключится, он убьет вашу программу (это, по сути, событие onclose
).
Непонятно, что он делает, если он получает ошибки webSocket при отправке данных обратно клиенту. Вам нужно будет проанализировать код https://github.com/joewalnes/websocketd, чтобы попытаться понять это (он, по-видимому, написан в go
. Предположительно, поскольку это сам сервер и нет интерфейса, возможно, самое большее, что происходит, это то, что ошибка регистрируется или, возможно, WebSocket отключен. Без изменения кода вы не можете принять участие в том, что происходит, когда возникает ошибка связи с webSocket. Демон имеет предварительно запрограммированное поведение.
Я вижу примеры here in the code, где речь идет об ошибках чтения stdout
, и он регистрирует эти ошибки, а затем закрывает поток stdout.
code here, похоже, закрывает входящий webSocket, если он получает ошибки, пока е чтение из него.
- 1. Полный набор в SQL
- 2. Как обрабатывать базовый фрейм Websocket
- 3. Набор печенья в связи WebSocket
- 4. Набор событий для symfony2
- 5. Как настроить logstash 2.3.3 websocket
- 6. Полный набор инструкций
- 7. Полный набор подграфов в Haskell
- 8. Как обрабатывать полный CircularBuffer в C++
- 9. Как обрабатывать полный период в java.time?
- 10. Получить полный URL-адрес в WebSocket
- 11. Как обрабатывать набор запросов django?
- 12. Как обрабатывать пустой набор данных?
- 13. Как обрабатывать несколько websocket ++ tabs/windows?
- 14. Как обрабатывать данные события onmessage из websocket
- 15. Как использовать сессионный набор с помощью websocket
- 16. ZK Как обрабатывать несколько событий?
- 17. Как обрабатывать FXML событий мыши
- 18. Обрабатывать рукопожатие HTTPS WebSocket в C#
- 19. Как обрабатывать большой набор данных в d3js
- 20. Как обрабатывать набор изображений в webpack
- 21. Echo полный набор из SQL
- 22. Как получить полный набор результатов из SSMS
- 23. Cassandra: как запросить полный набор данных?
- 24. Как обрабатывать несколько событий EVT_TEXT в wxPython?
- 25. Как обрабатывать диспетчеризацию событий в easeljs 0.7.0
- 26. Как сохранить набор свойств событий в окне?
- 27. websocketd с json over STDIN/STDOUT
- 28. MySQL объединяет инкрементные данные в полный набор
- 29. Полный набор правил отступов в haskell
- 30. обрабатывать запросы CONNECT на сервере websocket
Возможно, добавьте небольшой контекст и некоторые полезные теги к вашему вопросу. О какой среде разработки и языке программирования вы говорите? Что такое websocketd? – jfriend00
http://websocketd.com – bigtunacan
Это демон websocket. Вы пишете приложение на любом языке, который хотите, а затем используйте websocketd для его демонстрации. Он читает/записывает в stdin/stdout. Существует очень мало существующей документации, хотя неясно, как получать какие-либо события, кроме сообщения, или даже поддерживать его. Учитывая знание websocketd, я думаю, что мой вопрос достаточно. Я бы пометил это websocketd вместо websockets, но такой тег не существует уже сегодня. – bigtunacan