ThreeJSはAJAXを使用してマルチユーザーインタラクションを実現します

1デバッグ環境は、VS2008、C#を使用したWin7IISバックグラウンドです。

  非インターフェースプログラムは、page_loadで直接データを処理するためにバックグラウンドで使用され、受信したデータは単に操作に1を追加します

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

public partial class _Default : System.Web.UI.Page 
{
    protected void Page_Load(object sender, EventArgs e)
    {
        int age =Convert.ToInt32(Request["age"]);
        age++;
        Response.Write(age.ToString());     
    }
}

2フロントエンドはThreeJSを採用し、JavaScriptを使用して操作します

var xhr=new XMLHttpRequest();//ajax数据存取
 var wxpAge=1;

//在键盘函数里发出数据请求
 //键盘函数    
        function WxpKeyPressed(e) {
            var key = event.keyCode;
                       
            switch (key) {

                case 37: /*左方向键*/
                    GuiControls.camerPositionX += 0.1;
                    break;

                case 39: /*右方向键*/
                    GuiControls.camerPositionX -= 0.1;
                    break;

                case 38: /*向上键*/
                    GuiControls.camerPositionY -= 0.1;
                    break;

                case 40: /*向下键*/
                    GuiControls.camerPositionY += 0.1;
                    break;
                
            }
            //get 方法不需要参数
            //xhr.send(null); 

            // post 需要传递参数
            //初始化AJAX  
            xhr.onreadystatechange=WxpCallBack;
            xhr.open("post","default.aspx",true);          
            xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded")

            var str=new String("name=jay&age=");
            str=str+wxpAge.toString();
            //alert(str);
            xhr.send(str);        
        }

3コールバック関数はサーバーから送信された文字列を解析し、将来的にJSONを使用できるようになります

//主要是解析接收到的字符 
        function WxpCallBack()
        {

            if(xhr.readyState==4)
              if(xhr.status==200)
              {
                var res=xhr.responseText;
                wxpAge=parseInt(res);
                document.getElementById("notice").innerHTML = "请先选中物体" + res.toString();
                
              }
        }

4IISのweb.configの設定に注意する必要があります

 
    <!-- 
        在 Internet 信息服务 7.0 下运行 ASP.NET AJAX 需要 system.webServer
        节。对早期版本的 IIS 来说则不需要此节。
    -->
    <system.webServer>
      <validation validateIntegratedModeConfiguration="false"/>
      <modules>
        <remove name="ScriptModule" />
        <add name="ScriptModule" preCondition="managedHandler" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
      </modules>
      <handlers>
        <remove name="WebServiceHandlerFactory-Integrated"/>
        <remove name="ScriptHandlerFactory" />
        <remove name="ScriptHandlerFactoryAppServices" />
        <remove name="ScriptResource" />
        <add name="ScriptHandlerFactory" verb="*" path="*.asmx" preCondition="integratedMode"
             type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
        <add name="ScriptHandlerFactoryAppServices" verb="*" path="*_AppService.axd" preCondition="integratedMode"
             type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
        <add name="ScriptResource" preCondition="integratedMode" verb="GET,HEAD" path="ScriptResource.axd" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
      </handlers>
      <httpProtocol>
        <customHeaders>
          <!-- CORS temporary solution -->
          <add name="Access-Control-Allow-Origin" value="*" />
          <add name="--allow-file-access-from-files" value="*" />
          <add name="Access-Control-Allow-Headers" value="Content-Type, Authorization, Accept, X-Requested-With" />
          <add name="Access-Control-Allow-Methods" value="OPTIONS, TRACE, GET, HEAD, POST, PUT" />
        </customHeaders>
      </httpProtocol>
      <staticContent>
        <mimeMap fileExtension=".obj" mimeType="text/html" />
      </staticContent>
    </system.webServer>

5最後に、これは単純な検証効果です。これはサーバー側のコードからも確認でき、アプリケーションに1を1回追加します。

後者は、マルチユーザーの相互作用効果の実現を解決するために使用できます。

おすすめ

転載: blog.csdn.net/sichuanpb/article/details/111634526
おすすめ