Home   Archive   Permalink

News from: R2 to R3 TCP bridge - how to pass a bytes array?

From Ren-C (compliled with OMQ extension) - using the current 0MQ version 4.2.5 - I was able to receive messages from R2 using the TCP chat example: http://www.rebol.net/cookbook/recipes/0028.html
I use ZMQ_STREAM "pairing" which behaves like a standard BSD socket according to: http://hintjens.com/blog:42
When sending a message from R3 to R2,
zmq-send socket msg
I get the following error
     ; zmq-send does not allow binary! for its msg argument
     ; zmq-send does not allow block! for its msg argument
     ; zmq-send does not allow text! for its msg argument
According to 0MQ doc
[...] zmq_send() and zmq_recv(), to which you pass byte arrays, not message structures.
Isn't msg in
msg: to-binary "Test"
a binary array address?
zmq-send: 'make action! [[socket msg /dontwait /sndmore] [...]]

posted by:   VIDpuzzle       21-Mar-2019/14:24:21-7:00

I will only give very short answers here. e.g. "look in the examples/ dir for S-SEND".
Those files originated from @earl's extension. Here were the originals:
For longer discussion of why he may have made various choices, or to discuss the design of the extension in general, start a thread here:

posted by:   Fork       21-Mar-2019/16:03:42-7:00

Thanks for inquiring and for pointing me back to the original example.
The R2 chat messaging example uses two different ports, port/locate-port to initiate the connection and message the client, port/remote-port to receive messages from the client.
I have yet to use a R2 port for two-way messaging as a standard BSD socket, Ren-C to send messages from the remote-port acting as R2 client.
The remote-port changes every time a new server instance is launched. I wonder how the client gets the port/remote-port number as all I receive is a 0 length message followed by a routing_ID message.

posted by:   VIDpuzzle       24-Mar-2019/13:33:34-7:00



Type the reverse of this captcha text: "e r e h - t o n"