В настоящее время клиент отправляет данные на сервер, но на том же компьютере я хочу, чтобы клиент отправил эти данные на сервер на другом компьютере. Есть ли способ сделать это? Я приложил клиентскую и серверную часть кода, который отправляет и получает данные. Я хочу, чтобы клиент отправлял данные на сервер 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];
}
}
выход