Popularity
3.3
Stable
Activity
0.0
Stable
14
0
3
Programming language: Crystal
License: MIT License
Tags:
Network Protocols
crystal-json-socket alternatives and similar shards
Based on the "Network Protocols" category.
Alternatively, view crystal-json-socket alternatives based on common mentions on social networks and blogs.
-
crystal-mqtt
Crystal lang implementation of the MQTT protocol, a lightweight protocol for publish/subscribe messaging
InfluxDB – Built for High-Performance Time Series Workloads
InfluxDB 3 OSS is now GA. Transform, enrich, and act on time series data directly in the database. Automate critical tasks and eliminate the need to move data externally. Download now.
Promo
www.influxdata.com

Do you think we are missing an alternative of crystal-json-socket or a related project?
README
crystal json-socket 
JSON-socket client & server implementation. Inspired by and compatible with sebastianseilund/node-json-socket and ruby json-socket
Installation
Add this to your application's shard.yml
:
dependencies:
json-socket:
github: foi/crystal-json-socket
Usage
server.cr
require "json-socket"
struct CustomJSONSocketServer
include JSONSocket::Server
def on_message(message, socket)
puts message
result = (message["a"].as_i + message["b"].as_i) * message["b"].as_i * message["a"].as_i
self.send_end_message({ :result => result}, socket)
end
end
server = CustomJSONSocketServer.new("127.0.0.1", 1234) # OR CustomJSONSocketServer.new(unix_socket: "/tmp/json-socket-server.sock", delimeter: "µ")
server.listen
client.cr
require "json-socket"
to_server = JSONSocket::Client.new(host: "127.0.0.1", port: 1234) # OR JSONSocket::Client.new(unix_socket: "/tmp/json-socket-server.sock", delimeter: "µ")
result = to_server.send({ a: 12, b: 8})
if (result)
puts result
end
client.cr with timeouts in seconds
require "json-socket"
to_server = JSONSocket::Client.new(host: "127.0.0.1", port: 1234, read_timeout: 10, write_timeout: 5) # OR JSONSocket::Client.new(unix_socket: "/tmp/json-socket-server.sock", delimeter: "µ", read_timeout: 10, write_timeout: 5)
result = to_server.send({ a: 12, b: 8})
if (result)
puts result
end