I am not very clear about the idea of wire-level protocols. I heard BitTorrent uses it and read that a wirelevel protocol can be considered an opposite of API. I read RMI calls can be considered wirelevel protocols but am still a little confused. Can someone explain this in a better way?
I wouldn't say that something uses a wire-level protocol or doesn't - I'd talk about which wire-level protocol it uses.
Basically, if something's communicating with a remote machine (even conceptually) then there's some data going across the network connection (the wire). The description of that data is the "wire-level protocol". Even within that, you would often stop short of describing individual network packets - so the wire protocol for a TCP-based protocol would usually be defined in terms of opening a connection, the data streams between the two computers, and probably details of when each side would be expected to close the connection.
I googled and found the following:
- Advanced Message Queuing Protocol - " A wire-level protocol is a description of the format of the data that is sent across the network as a stream of octets"
- the definition
- A very clear answer to this question
Examples:
- HTTP
- CORBA
- DCOM
- SOAP
Did you try this yourself? If so, what don't you understand?