Linux Bash: öffnen einer websocket-Verbindung client
Habe ich eine Node.JS Anwendung, bietet eine web-socket-server (mit npm ws). Das websocket-wartet, bis eine Verbindung hergestellt ist. Sobald eine Verbindung hat der server das websocket-führt einen job. Wenn die Arbeit erledigt ist, wird eine Nachricht gesendet wird über die Buchse, dann wird der socket geschlossen wird.
Diese Buchse funktioniert wie erwartet; bereits getestet mit anderen Node.JS script.
Wie kann ich Verbindung zum web-socket - mit nur linux Befehlszeile tools?
Ich habe bereits versucht, curl, wie beschrieben,hier. Allerdings kann ich nicht herausfinden, wie die Verbindung ordnungsgemäß zu meinem websocket läuft auf localhost:8088/socket/
Edit:
Meine Frage wurde identifiziert als ein mögliches Duplikat ein weiteres Frage. Allerdings werden die verknüpften Frage, die nur fragt, ob es einen Weg, es zu tun mit curl. Ich wäre froh zu sehen, dass jede Lösung, die funktioniert auf bash. Auch die Antwort auf die verlinkte Frage ist eine javascript-Datei mit autobahn.ws
InformationsquelleAutor Brian | 2016-12-01
Du musst angemeldet sein, um einen Kommentar abzugeben.
Versuchen, diese von hier: Wie man dem WebSocket Endpoint?
Die hat er von hier: http://www.thenerdary.net/post/24889968081/debugging-websockets-with-curl
Zitieren, den Inhalt dieser Website für die Zukunft:
Wenn die websocket arbeiten, es sollte Folgendes zurück:
Oh tut mir Leid! Vielleicht müssen Sie behandeln die update-Anfrage sich dann? wenn der server dient nur dem ws-Protokoll? Denn wenn ich verstehe richtig, die curl-Anfrage versucht, eine http und aktualisieren, um eine ws-Protokoll - aber wenn der webserver nicht akzeptiert eingehende http-Aufrufe, dann kann nichts passieren stackoverflow.com/questions/18045352/...
Ok, also ich dachte über das, was Sie sagte. Ich habe nicht gehört, von diesem upgrade-Mechanismus vor. Jedoch, dies könnte natürlich der Grund sein, warum es nicht funktioniert 😉 Also ich habe meine hochgeladen node.js app um ein online-cloud-Anbieter nun. Deshalb habe ich eine http-url ist jetzt. Ich denke, dass mein express.js Rahmen könnte intern verwenden Sie die upgrade-mechansim, zu. Wie kann ich mein Pfad und port auf dem curl-Befehl?
Okay. Ich war neugierig, was passieren wird, wenn die Verbindung richtet sich nach dem upgrade. Denn es ist ein bidirektionaler Strom, es muss offen sein in der Klemme irgendwie. Aber wie? Was wird passieren? Dann habe ich versucht, und habe diese:
curl: (1) Protocol "ws" not supported or disabled in libcurl
Von diesem einen:curl -i -N -H "Connection: Upgrade" -H "Upgrade: websocket" -H "Host: echo.websocket.org" -H "Origin:http://www.websocket.org" ws://echo.websocket.org/
Okay, also, um Ihre Frage zu beantworten: ich denke, man kann nicht soweit gehen und tun, die Kommunikation nach dem upgrade mit dem linux-tool curl. Da Sie gefragt haben
linux tools
vielleicht wird es möglich sein könnte, zu installieren, so etwas wie dieses, github.com/progrium/wssh, und führen Sie dann das von der Kommandozeile aus (die mit dem Protokoll)InformationsquelleAutor Stefan Rein
Mein Werkzeug websocat ist speziell für diese.
Können Sie die Verbindung und den Datenaustausch mit Ihrem server. Standardmäßig ist jede Zeile wird eine WebSocket-Nachricht ein und Umgekehrt.
Unter Linux ist es bequemer, mit ihm zu spielen using readline:
Es ist nicht das einzige, CLI-websocket-client. Es gibt auch "ws" und "wscat" Projekte.
InformationsquelleAutor Vi.