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