Skip to content
Ice Docs
GitHub
  • The Ice Framework
    • Overview
    • Defining the Interface
    • Writing the Server
    • Writing the Client
  • Upgrade Guide
    • Overview
    • Slice and Slice Compilers
    • Terminology
    • The Ice Protocol in a Nutshell
    • Overview
    • Compilation
    • Source Files
    • Lexical Rules
    • Basic Types
    • Modules
      • Overview
      • Enumerations
      • Structures
        • Overview
        • Simple Classes
        • Inheritance
        • Self-Referential Classes
        • Compact Type IDs
        • Slice Loaders
        • Slicing Values and Exceptions
      • Sequences
      • Dictionaries
    • Fields
    • Constants and Literals
      • Overview
      • Inheritance
      • Proxy Types
    • Operations
    • Exceptions
    • Forward Declarations
    • Type IDs
    • Operations on Object
    • Names and Scoping
    • Metadata
    • Deprecation
    • Slice Compiler
    • Code Generation
      • Overview
      • Syntax
      • Structure
      • Doxygen
    • Keywords
    • Overview
      • Overview
      • Initialization and Destruction
      • In PHP
      • Overview
      • Creating Proxies
      • Proxy String Syntax
      • Proxy Defaults
      • Converting Proxies to Strings
        • Overview
        • Adapter ID Proxy
        • Well-Known Proxy
        • Overview
        • Oneway
        • Datagram
        • Batched
        • Batch Interceptors
      • Load Balancing
        • Overview
        • Explicit
        • Per-Proxy
        • Implicit
        • Design Considerations
      • Timeouts
      • Automatic Retries
      • Concurrent Invocations
      • Dynamic Invocation
      • Routers
      • Overview
      • Creating an Object Adapter
      • Activation and Deactivation
      • Object Adapter Endpoints
      • Dispatch Pipeline
      • Dispatcher API
      • Active Servant Map
      • Default Servants
      • Middleware
      • Multiple Object Adapters
    • Collocation
    • Object Identity
    • Facets
      • Overview
      • Properties
      • File Syntax
      • Command-Line Properties
      • Configuration Files
      • Alternate Property Stores
      • Command-Line Parsing
      • Properties Class
    • Local and Dispatch Exceptions
    • Streams
      • Overview
      • Establishment
      • Closure
      • Bidirectional Connections
      • Overview
      • Client Semantics
      • Configuration for a Client
      • Server Semantics
      • Configuration for a Server
      • Overview
      • Thread Pools
      • Object Adapter Thread Pools
      • Design Considerations
      • Nested Invocations
    • Transports
    • SSL Transport
    • Compression
    • Endpoint Syntax
    • Overview
      • Overview
      • The admin Object
      • Creating the admin Object
      • Using the admin Object
      • Process Facet
      • Properties Facet
      • Logger Facet
      • Metrics Facet
      • Filtering Facets
      • Custom Facets
      • Security
      • Overview
      • Default Logger
      • Custom Loggers
      • Built-in Loggers
      • Per-Process Logger
    • Overview
      • Overview
      • API
      • Installing a Plug-in
    • Custom Logger Plug-in
    • IceIAP
    • IceBT
    • IceDiscovery
    • IceLocatorDiscovery
    • Overview
      • Overview
        • Overview
        • Node
        • Topic
        • Writer
        • Reader
        • Sample
        • Custom Types
        • Connectivity
      • Node Server
      • Overview
      • Firewall Traversal
      • About
      • How It Works
      • Getting Started
      • Callbacks
      • Securing the Router
      • Sessions
      • Request Filtering
      • Request Contexts
      • Behind a Firewall
      • Advanced Client Configuration
      • IceGrid Integration
      • Metrics
    • IceBridge
      • Overview
      • Developing Services
      • Configuring Services
      • Starting the Server
      • Administration
      • Overview
      • Architecture
      • Getting Started
      • Deployment
      • Well-Known Objects
      • Templates
      • IceBox Integration
      • Object Adapter Replication
      • Load Balancing
      • Resource Allocation
      • Registry Replication
      • Administrative Sessions
      • Glacier2 Integration
        • Overview
        • <adapter>
        • <allocatable>
        • <application>
        • <description>
        • <icebox>
        • <icegrid>
        • <load-balancing>
        • <log>
        • <node>
        • <object>
        • <parameter>
        • <properties>
        • <property>
        • <replica-group>
        • <server>
        • <server-instance>
        • <server-template>
        • <service>
        • <service-instance>
        • <service-template>
        • <variable>
        • Command-Line Options
        • Environment Variables
      • Variables and Parameters
      • Property Sets
      • XML Features
        • Overview
        • icegridregistry
        • icegridnode
        • Well-Known Registry Objects
        • Persistent Data
        • Promoting a Slave
      • Admin Facility
      • Security
      • icegridadmin
        • Overview
        • Getting Started
          • Overview
          • Connection to a Registry
            • Overview
            • Registry
            • Slave Registry
            • Node
            • Server
            • Adapter
            • Service
            • Metrics View
          • Application Component
          • Ice Log Dialog
          • Log File Dialog
          • Metrics Graph
          • Overview
          • Editing and Saving Descriptors
          • Navigation
            • Overview
            • Variables
            • Application
            • Node
            • Server
            • Service
            • Adapter
            • Property Set
            • Replica Group
            • Server Template
            • Service Template
      • Server Activation
      • Troubleshooting
      • Database Utility
      • Overview
      • Concepts
        • Overview
        • Implementing a Publisher
        • Publisher Objects
        • Implementing a Subscriber
        • Publishing to One Subscriber
      • High Availability
      • Administration
      • Topic Federation
      • Quality of Service
      • Delivery Modes
      • Configuring IceStorm
      • Persistent Data
      • Metrics
      • Database Utility
    • Overview
    • Basic Types
    • Slices
    • Exceptions
      • Overview
      • Type IDs
      • Example
      • Class Graphs
    • Proxies
    • Optional Values
    • Request and Reply Payloads
    • Overview
    • Messages
    • Compression
    • Overview
      • Overview
      • Installing a Service
      • Service Installer
      • Troubleshooting
    • Linux systemd Services
    • Command-Line Options
    • Logging
    • Overview
    • Incremental Updates
    • Facets
    • Overview
    • Object Adapter Properties
    • Proxy Properties
    • DataStorm.Node.*
    • DataStorm.Topic.*
    • DataStorm.Trace.*
    • Glacier2.*
    • Ice.*
    • Ice.Admin.*
    • Ice.Connection.*
    • Ice.Default.*
    • Ice.Override.*
    • Ice.Plugin.*
    • Ice.TCP.*
    • Ice.ThreadPool.*
    • Ice.Trace.*
    • Ice.UDP.*
    • Ice.Warn.*
    • Ice.WS.*
    • IceBox.*
    • IceBoxAdmin.*
    • IceBridge.*
    • IceBT.*
    • IceDiscovery.*
    • IceGrid.*
    • IceGridAdmin.*
    • IceLocatorDiscovery.*
    • IceMX.Metrics.*
    • IceSSL.*
    • IceStorm.*
    • IceStormAdmin.*
  • Compatibility
  • Ice and IceRPC
      • Release Notes
      • Supported Platforms
      • Release Notes
      • Supported Platforms
      • Release Notes
      • Supported Platforms
      • Release Notes
      • Supported Platforms
  1. Ice Documentation
  2. /Ice Protocol

Ice Protocol

The Ice protocol is an application-layer protocol that defines a number of message types exchanged between clients and servers, together with rules as to what message is to be sent under what circumstances.

Some of these messages carry a data payload encoded using the Ice encoding.

There is only one version of the Ice protocol, version 1.0.

Previous
← Data Encoding for Request and Reply Payloads
Next
Protocol Messages →
Actions
  • Edit this page
  • GitHub Discussions
© 2026 ZeroC
  • About
  • Privacy Policy
  • Contact