将多个客户端数据传递到2D阵列上

时间:2018-11-01 17:39:08

标签: c# arrays server client-server kinect

当前,我正在尝试从多个客户端接收流数据到此服务器代码。我只想使用一个变量来捕获最新的流并相应地刷新。正如您在图片中看到的那样,我遇到的问题是,当我运行第一个客户端代码时,它填满了服务器变量,而第二个客户端程序(相同的代码)退出了,因为“该流当前已由先前的运算符使用在溪流上。”

如何将两个流都传递到服务器代码中的kinectPositions变量上

    private void ClientReceiveData(object sender, ConnectedClient.NetDataEventArgs e)
        {


            if (string.IsNullOrEmpty(e.Message) == false)

            {

                latestSkeletons = Array.ConvertAll(e.Message.Split(new[] { ',', }, StringSplitOptions.RemoveEmptyEntries), Double.Parse);

            }

            double[][,] kinectPositions = { new double[25, 3], new double[25, 3] }; // Initialize an array of 2 20x3 doubles (2 skeletons, 25 joints, 3 coords)
            for (int i = 0; i < 2; i++) // Iterate through the Kinect skeleton object and extract the points
            {
                for (int j = 0; j <25; j++)
                {
                    //result  =  digits[i].Joints[JointsToUse[j]].Position;
                    kinectPositions[e.ID][j, 0] = latestSkeletons[3 * j + 0]; //x
                    kinectPositions[e.ID][j, 1] = latestSkeletons[3 * j + 1];  //y
                    kinectPositions[e.ID][j, 2] = latestSkeletons[3 * j + 2]; //z
                }
            }

Server Array Picture

Client Error Picture

0 个答案:

没有答案