Comments (5)
This is more of a general programming queshtion, but I am happy to try and help.
Your solution is fine, but it will be a bit hard to extend in the future.
The Websockets protocol defined 2 types of data messages: Binary and Text (UTF8). You could look up the docs on the library you are using on the PC and check what is the method name that checks if a message is binary or text.
A more general approach, is to define some kind of protocol of your own. For example, you could say that before every message you send a text messages that represent the type of data being sent next. For example, Esp code:
if(...) {
client.send("DETECTION");
client.sendBinary("Face Detected");
}
client.send("IMAGE");
client.sendBinary((const char *)_jpg_buf, _jpg_buf_len);
Then, on the other side you will accept a message, and use switch
or if-else
s to act depending on the data you know you are about to get next.
This protocol is not very slim or efficient, but you can apply the general concept however you like :)
Btw, is sending the images working well for you?
from arduinowebsockets.
Thanks for the advice. Sending images seems to work well at lower resolutions but the WiFi disconnects on the ESP at high resolutions. I'm going to do more testing on streaming the camera output using websockets vs the JPEG HTTP Stream method used here: https://github.com/espressif/esp32-camera/tree/master
from arduinowebsockets.
Interesting. You can try using streaming with this library. See this https://github.com/gilmaimon/TinyWebsockets/wiki/Client#Streaming---Sending-Fragmented-Messages
from arduinowebsockets.
Hi, can I close the issue?
from arduinowebsockets.
I'm working on another project that I want to test with this library as an alternative. Hopefully today!
from arduinowebsockets.
Related Issues (20)
- ESP32-Server Not Working Properly receives one msg and gets disconnected HOT 4
- How to know hostname and IP from client? HOT 1
- esp32 to wss python server
- ESP32 Websocket Client doesn't connect to Node.js Websocket server HOT 3
- poll() disconnects client HOT 7
- How to get a reference of the web socket client that dispatched the msg callback
- Hieromon/AutoConnect & WebSockets Client on ESP8266 - Can't Establish wss
- Secured-ESP8266-Client can't seem to receive any messages while connection is open HOT 1
- Compilation error: 'WebsocketsClient' does not name a type ?? HOT 3
- Getting a error from the TCPServer using the Arduino GIGA R1 WIFI on the ESP-32Client code. HOT 10
- ESP32-CAM WebSocket Server: Failure to Stream Camera Feed after Page Refresh or Multiple Connections
- WSS Connection error
- [ 5236][E][WiFiClient.cpp:313] setSocketOption(): fail on -1, errno: 9, "Bad file number" HOT 2
- Reconnecting after lost connection HOT 2
- Disconnecting almost inmediately
- Random disconnects, fails on binary ping including 0x00 HOT 1
- Issue with WSS and ESP 32 HOT 4
- Esp32 WebSocket Client won't work with WebSocket Node.js server. HOT 3
- Client-Message-Buffer
- ESP32 Server disconnected when receiving messages HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from arduinowebsockets.