文档

Development

User Acquisition

Monetization

工业

Vivox Core SDK

Vivox Core SDK

此页面不支持所选语言。
Vivox
​
​
Vivox Core SDK
  • Overview
  • Before you begin
  • Get started
  • Release notes
  • Developer Guide
    • Client SDK basics
    • Channels
      • Channel name criteria
      • Channel types
      • Echo channels
      • Positional channels
      • Volume differences
      • Channel identifiers for large scale games
      • Participant events
      • Channel webhooks
      • Join a channel
      • Leave a channel
      • Kick a user from a channel
      • Manage session groups
      • Audio injection
      • Methods for setting audio levels
      • Derumbler
      • Automatic connection recovery
        • Network connection state events
        • Network reconnect failure
        • Partial connection failure
    • Presence management
    • Messaging
    • Manage audio
    • Couch co-op
    • Android app development
    • iOS app development
    • macOS app development
    • Windows app development
    • Real-time recording
    • Speech-to-text audio transcription
    • Text-to-speech
    • Troubleshooting
  • Reference
  • Privacy overview
  1. Vivox Core SDK documentation

Network connection state events

Learn about network connection state events.
阅读时间3 分钟
最后更新于 8 个月前

The Vivox SDK provides details on the network connection status through network connection state events, which are informational and require no immediate action. These events are intended to supplement the game’s own notion of network reachability. They provide visibility into the Vivox SDK’s internal automatic connection recovery process under the following conditions:
  • The initial network connection to Vivox services has been established after
    vx_req_account_anonymous_login
    .
    注意
    This indicates normal operation and is not indicative of network connection recovery.
  • The network connection recovery process has begun.
  • Either the network connection has been restored, or reconnection attempts have failed.
These network connection state changes are reported through the following events for each user account that is signed in by using the standard Vivox event reporting mechanism:
注意
Some Vivox APIs that depend on network connectivity might result in undefined behavior when the Vivox SDK is disconnected from the network or is trying to recover its connection to Vivox services. Your application can avoid undefined behavior in the Vivox SDK by monitoring the Vivox connection state events that are detailed in the following list. Defer or temporarily disable Vivox requests that require an account_handle or session_handle in the request data structures when the connection state is recovering, because the success of those requests depends on a network connection to Vivox services.
  • vx_evt_connection_state_changed
    : Sent when a change has occurred in the connection to Vivox services.
  • connection_state
    :
    • connection_state_connected
      : Initial network connection has been established after vx_req_account_anonymous_login. Network-dependent API calls are safe.
      注意
      This occurs once for each time that a user signs in.
    • connection_state_recovering
      : Attempting to reestablish a connection to Vivox services. Avoid making network-dependent API calls until the connection has recovered or has failed to recover, otherwise undefined behavior can result.
    • connection_state_failed_to_recover
      : Failed to reestablish network connection to Vivox services. A logged_out event will follow. Wait to sign in again until after the game’s network connection has been restored.
    • connection_state_recovered
      : Network connection to Vivox services has been successfully reestablished. Network-dependent API calls are safe.
  • account_handle
    : The handle of a user who is signed in.
The following code is an example of how to handle connection state events. This, combined with the game’s own notion of network reachability, could be used to indicate voice and text communications availability to the user.
void HandleConnectionStateChangedEvent(vx_evt_connection_state_changed &evt){    vx_connection_state connection_state = evt.connection_state;    switch (connection_state)    {        case connection_state_connected:            printf("%s is connected to Vivox\n", evt.acct_handle);            // All API calls are safe to make            break;        case connection_state_recovering:            printf("Network connection recovering\n");            // Avoid making network-dependent API calls while the connection is recovering, such as login, logout, add_session, or remove_session.            break;        case connection_state_failed_to_recover:            printf("Network connection failed to recover\n");            // Expect a logged_out event to follow            // Wait to login until after the network connection is restored            break;        case connection_state_recovered:            printf("Reconnected to network\n");            // All API calls are safe to make            break;    }}

Copyright © 2026 Unity Technologies
法律信息隐私政策CookiesDocumentation Terms of Use请勿出售或分享我的个人信息您的隐私选择(Cookie 设置)

“Unity”、Unity 徽标及其他 Unity 商标是 Unity Technologies 或其附属公司在美国和其他地方的商标或注册商标(此处查看更多信息)。其他名称或品牌是其各自所有者的商标。

为方便起见,一些页面是机器翻译的,可能包含不准确的内容。如有信息不一致的情况,以英文版本为准。


    报告此页面的问题
    ​
    ​