javascript - 通过 Web 套接字网络在 C# 服务器上传输 JSON 字符串数据

标签 javascript c# json websocket kinect

目前客户端正在将数据发送到服务器,但在同一台计算机上我希望客户端将此数据发送到另一台计算机上的服务器。有没有办法做到这一点?我附上了发送和接收数据的代码的客户端和服务器端。我希望客户端使用 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];

                }
            }

Output

最佳答案

在您的代码中,您有 var socket = new WebSocket("ws://localhost:8181");

尝试将其更改为 var socket = new WebSocket("ws://192.XXX.XXX.XXX"); 其中 192.XXX.XXX.XXX是您要将数据发送到的另一台计算机的 IP 地址。

Localhost 本质上就是自己的电脑。希望这有帮助!

关于javascript - 通过 Web 套接字网络在 C# 服务器上传输 JSON 字符串数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51068189/

相关文章:

javascript - 与在 useEffect 中分配转发的 ref 相比,useImperativeHandle 有什么好处?

asp.net - 将字典的字典传递给 javascript (.NET)

mysql - 为图像数据生成 JSON

javascript - 查找具有不一致 JSON 的特定键的最新索引?

json - Angular - FormGroup 显示来自服务器 Rest Api 的 json 错误

javascript - 在上一张幻灯片后继续滚动

javascript - for let of 循环不起作用?

c# - 托管在 Windows 服务中的 WCF 中的 IoC 和每次调用的容器生命周期

c# - SQL SERVER 中的 DAX IFERROR 函数

c# - 您只能使用第二类创建类对象(第一类没有构造函数?)