【发布时间】:2018-06-27 17:12:27
【问题描述】:
当前客户端正在将数据发送到服务器,但在同一台计算机上,我希望客户端将此数据发送到另一台计算机上的服务器。有没有办法做到这一点?我已经附加了发送和接收数据的代码的客户端和服务器端。我希望客户端使用 Web 套接字将数据发送到另一台计算机上的 C# 服务器,但它仅在服务器和客户端都在同一台计算机上时才发送数据。
服务器代码:
private static void bodyFrameReader_FrameArrived(object sender, BodyFrameArrivedEventArgs e)
{
bool dataReceived = false;
using (BodyFrame bodyFrame = e.FrameReference.AcquireFrame())
{
if (bodyFrame != null)
{
if (bodies == null)
{
bodies = new Body[bodyFrame.BodyCount];
}
bodyFrame.GetAndRefreshBodyData(bodies);
dataReceived = true;
}
}
if (dataReceived)
{
foreach (var client in clients)
{
var users = bodies.Where(s => s.IsTracked.Equals(true)).ToList();
if (users.Count>0){
string json = users.Serialize(_coordinateMapper, _mode);
Console.WriteLine("jsonstring: " + json);
Console.WriteLine("After body serialization and to send");
client.Send(json);
}
}
}
}
}
下面的客户端代码:
var socket = new WebSocket("ws://localhost:8181");
socket.onopen = function (event) {
label.innerHTML = "Connection open";
}
socket.onmessage = function (event) {
if (typeof event.data === "string") {
var jsonObject = JSON.parse(event.data);
console.log("Json Arrived");
for (var i = 0; i < jsonObject.skeletons.length; i++) {
for (var j = 0; j < jsonObject.skeletons[i].joints.length; j++) {
var joint = jsonObject.skeletons[i].joints[j];
}
}
【问题讨论】:
标签: javascript c# json websocket kinect