[det]ws_send(+WebSocket, 
+Message)Send a message over a websocket. The following terms are allowed for Message:
- text(+Text)
 - Send a text message. Text is serialized using write/1.
 
- binary(+Content)
 - As 
text(+Text), but all character codes produced by Content 
must be in the range [0..255]. Typically, Content will be an 
atom or string holding binary data. 
- prolog(+Term)
 - Send a Prolog term as a text message. Text is serialized using write_canonical/1.
 
- json(+JSON)
 - Send the Prolog representation of a JSON term using
json_write_dict/2.
 
- string(+Text)
 - Same as 
text(+Text), provided for consistency. 
- close(+Code, +Text)
 - Send a close message. Code is 1000 for normal close. See 
websocket documentation for other values.
 
- Dict
 - A dict that minimally contains an 
opcode key. Other keys 
used are:
format:Format- Serialization format used for Message.data. Format 
is one of 
string, prolog or json. 
See ws_receive/3. 
data:Term- If this key is present, it is serialized according to Message.format. 
Otherwise it is serialized using
write/1, which implies that string and 
atoms are just sent verbatim.
 
 
Note that ws_start_message/3 does not 
unlock the stream. This is done by ws_send/1. 
This implies that multiple threads can use
ws_send/2 and the messages are 
properly serialized.
- To be done
 - Provide serialization details using options.