ThingWorx Edge SDKs: Tutorial > What is the ThingWorx AlwaysOn Protocol?
What is the ThingWorx AlwaysOn Protocol?
The ThingWorx AlwaysOn protocol is based on the WebSocket protocol, which "upgrades" HTTP to permit it to retain its connection and exchange binary information. Your devices can use the WebSocket protocol (denoted as ws:) during your upgrade request, or for secure communications, the WebSocket Secure protocol (denoted as wss:). For example:

GET ws://websocket.example.dcom/HTTP/1.1
Origin: Connection: Upgrade
Upgrade: websocket

HTTP/1.1 101 WebSocketProtocol Handshake
Date: Web, 16 Oct 2013 10:07:34 GMT
Connection: Upgrade
Upgrade: WebSocket
If it is just WebSocket, why do you need an SDK? The ThingWorx Edge SDKs provide versatile and powerful sets of features. Here are some of those features and the ThingWorx Edge products — Edge SDKs and ThingWorx Edge MicroServer (EMS) — that support them:
Primitive persistence (all)
Service execution (all)
Subscriptions to property changes (all)
Offline operation (C SDK, .NET SDK, EMS only)
Tunneling (C SDK, .NET SDK, Java SDK, EMS only)
File transfers (C SDK, .NET SDK, Java SDK, EMS only)
Software Content Management support (C SDK, EMS only)
Connection monitoring and duty cycle (all)
What Languages Are Supported?
All ThingWorx Edge SDKs use the AlwaysOn protocol for communications with the ThingWorx Platform. The ThingWorx Edge SDKs consist of the following SDKs:
Not all AlwaysOn SDKs are exactly the same. That said, they all allow you to perform the same basic tasks.
Was this helpful?