Version: 2018.1
public Action<int,int> ConnectionReadyForSend ;

説明

Defines the callback delegate which you can use to get a notification when a connection is ready to send data.

The callback will be only be called if you specifically indicate that you want this notification, by calling NetworkTransport.NotifyWhenConnectionReadyForSend.

This callback will be called from the IO thread. If you execute a long operation from this callback it will affect your IO operation performance, therefore you should return from these operations as soon as possible.

using System;
using UnityEngine;
using UnityEngine.Networking;

public class Test : MonoBehaviour { static bool isSend = true; //...

public static void SendCallback(int hostId, int connectionId) { isSend = true; //we can send again }

void Start() { GlobalConfig config = new GlobalConfig(); config.ConnectionReadyForSend = SendCallback; //set up callback for send notification

NetworkTransport.Init(config);

//.... }

void Update() { int testHostId = 1; int testConnectionId = 1; int testChannelId = 1; var testArray = new byte[] { 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20 }; byte error; while (isSend) { isSend = NetworkTransport.Send(testHostId, testConnectionId, testChannelId, testArray, testArray.Length, out error); if (isSend == false) { NetworkTransport.NotifyWhenConnectionReadyForSend(testHostId, testConnectionId, 2, out error); //ask lib to call SendCallback() when connection will be ready again and we will be able to send as minimum 2 messages break; } } } }
Copyright © 2023 Unity Technologies
优美缔软件(上海)有限公司 版权所有
"Unity"、Unity 徽标及其他 Unity 商标是 Unity Technologies 或其附属机构在美国及其他地区的商标或注册商标。其他名称或品牌是其各自所有者的商标。
公安部备案号:
31010902002961