当前位置: 首页>>代码示例>>C#>>正文


C# WWW.BeginGetRequestStream方法代码示例

本文整理汇总了C#中UnityEngine.WWW.BeginGetRequestStream方法的典型用法代码示例。如果您正苦于以下问题:C# WWW.BeginGetRequestStream方法的具体用法?C# WWW.BeginGetRequestStream怎么用?C# WWW.BeginGetRequestStream使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在UnityEngine.WWW的用法示例。


在下文中一共展示了WWW.BeginGetRequestStream方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: InternalSendMessage

        /// <summary>
        /// Method creates the web request and sends it immediately.
        /// Relies upon the requestState PacketId and MessageList being
        /// set appropriately.
        /// </summary>
        /// <param name="requestState">Request state.</param>
        private void InternalSendMessage(RequestState requestState)
        {
            // bundle up the data into a string
            Dictionary<string, object> packet = new Dictionary<string, object>();
            packet[OperationParam.ServiceMessagePacketId.Value] = requestState.PacketId;
            packet[OperationParam.ServiceMessageSessionId.Value] = m_sessionID;
            packet[OperationParam.ServiceMessageMessages.Value] = requestState.MessageList;

            string jsonRequestString = JsonWriter.Serialize(packet);
            string sig = CalculateMD5Hash(jsonRequestString + m_secretKey);
            byte[] byteArray = Encoding.UTF8.GetBytes(jsonRequestString);

            requestState.Signature = sig;
            requestState.ByteArray = byteArray;

            if (m_debugPacketLossRate > 0.0)
            {
                System.Random r = new System.Random();
                requestState.LoseThisPacket = r.NextDouble () > m_debugPacketLossRate;
            }

            if (!requestState.LoseThisPacket)
            {
                #if !(DOT_NET)
                Dictionary<string, string> formTable = new Dictionary<string, string>();
                formTable["Content-Type"] = "application/json; charset=utf-8";
                formTable["X-SIG"] = sig;
                WWW request = new WWW(m_serverURL, byteArray, formTable);
                #else
                WebRequest request = WebRequest.Create(m_serverURL);
                request.ContentType = "application/json; charset=utf-8";
                request.Method = "POST";
                request.Headers.Add("X-SIG", sig);
                request.ContentLength = byteArray.Length;
                request.Timeout = (int) GetPacketTimeout(requestState).TotalMilliseconds;

                // TODO: Convert to using a task as BeginGetRequestStream can block for minutes
                requestState.AsyncResult = request.BeginGetRequestStream(new AsyncCallback(GetRequestCallback), requestState);
                #endif

                requestState.WebRequest = request;
            }
            requestState.RequestString = jsonRequestString;
            requestState.TimeSent = DateTime.Now;

            ResetIdleTimer();

            m_brainCloudClientRef.Log("OUTGOING "
                                      + (requestState.Retries > 0 ? " Retry(" + requestState.Retries +"): " : ": ")
                                      + jsonRequestString);
        }
开发者ID:PointlessReboot,项目名称:Unity-Csharp,代码行数:57,代码来源:BrainCloudComms.cs


注:本文中的UnityEngine.WWW.BeginGetRequestStream方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。