--
You received this message because you are subscribed to the Google Groups "JSON-RPC" group.
To post to this group, send email to json...@googlegroups.com.
To unsubscribe from this group, send email to json-rpc+u...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/json-rpc?hl=en.
Why not? If it is implemented over a socket, what’s to prevent either side from sending notifications to the other?
Henry
There is nothing stopping you from having each end acting as both
client and server (ie, a peer to peer arrangement). In fact, there
are at least two implementations of JsonRpc 2.0 over TCP that do this.
One at https://github.com/niligulmohar/python-symmetric-jsonrpc,
another at http://www.openminddev.net/projects/projects/show/python-rpcbd
- there may well be others.
Cheers,
Rasjid.
> -----Original Message-----
> From: json...@googlegroups.com [mailto:json...@googlegroups.com] On
> --
> You received this message because you are subscribed to the Google
> Groups "JSON-RPC" group.
> To post to this group, send email to json...@googlegroups.com.
> To unsubscribe from this group, send email to json-
> rpc+uns...@googlegroups.com.
To unsubscribe from this group, send email to json-rpc+u...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/json-rpc?hl=en.
This thread is mixing "TCP client" with "JsonRPC client". Nothing
mandates that the JsonRPC client should establish a TCP connection
with a TCP server. In fact JsonRPC dones't (or shouldn't) say nothing
about the transport protocol.
For example, JsonRPC could be used between two UDP sockets sending
requests one to each other. And in UDP, there is no concept of
"server" neither "client".
Please don't mix the transport protocol with the application protocol.
See OSI/IP layers.
--
Iñaki Baz Castillo
<i...@aliax.net>
All well and good, but in terms of JsonRpc the terms 'client' and
'server' have specific meanings. By definition, the 'client' sends
requests and notifications, and the 'server' replies with responses.
Any other use of the terms 'client' and 'server' within the context of
the spec just creates confusion.
As noted elsewhere, this has *nothing* to do with the transport layer,
and says nothing about which side initiates the connection at a
transport level. When using plain TCP as the transport, it is
certainly possible to have a 'listening client' that waits for
incoming connections from JsonRpc 'servers', and then sends requests
to them. But from the spec perspective, if an end-point sends
requests, it is a 'client', and if it sends responses, then it is a
'server'. A single end-point may well be both.
Cheers,
Rasjid.
Fully wrong. A server is what I decide a server is. The application
protocol (JsonRPC in this case) must not make assumption about the
transport layer. Never.
When entity A sends a JsonRPC request to entity B, entity A is acting
as a JsonRPC client and B as JsonRPC server. If entity B sends a
JsonRPC request it behaves as a JsonRPC client and entity A as JsonRPC
server. *NOTHIN* must mandate that they cannot share the same TCP
connection, neiher such TCP connection must exist (what about UDP
transport? UnixSocket? any other protocol on top of
TCP/UDP/UnixSocket?
--
You received this message because you are subscribed to the Google Groups "JSON-RPC" group.
To post to this group, send email to json...@googlegroups.com.
To unsubscribe from this group, send email to json-rpc+u...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/json-rpc?hl=en.
I clearly spoke about entity A and entity B which communicate using
*some* transport protocol we don't care about (TCP, UDP, UnixSocket)
or maybe using JsonRPC on top of other application protocol (HTTP or
whatever).
I just said that entity A can send JsonRPC requests to B (so it
behaves as a JsonRPC client). But nothing stops entity B behaving as a
JsonRPC client and sending JsonRPC requests/notifications to entity A
(which would become a JsonRPC server for those requests).
It doesn't matther which entity initiated the "connection" (as not all
the transports have "connections").
Regards.