Application protocol?

@cdegroot I want to know because I was reading about ejabberd XMPP server , and that it can be used within phoenix server.

Just because I can use ejabberd in my phoenix project, I started thinking about goodness I would get.
For example, would chatting app using ejabberd as backend would be more efficient? Would using available android client for ejabberd be more efficient in term of battery consumption rather than using websocket based client?

I found rich resources for ejabberd XMPP server , and I would appreciate any advice of utilizing it, or use cases about others in elixir community.

If you’re talking about the OSI model, they are both at the application layer.

Websockets would be the application protocol and TCP would be the transport protocol.

That’s arguable. It’s even arguable whether the OSI model applies to anything that runs TCP/IP to begin with ;-). I think that WS fulfills the roles of session/presentation layer, you still need to design what your application is going to talk through it. Similarly, XMPP might be almost too generic to be called an application protocol (as it’s very open ended and broadly applicable.

@sabri why do you want to know, anyway?

Yeah, I need to actually read the RFC:

Basically it is intended to be as close to just exposing raw TCP to script as possible given the constraints of the Web.

I’ve been getting spoiled with nice abstractions over protocols like this :slight_smile: