首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >服务器上托管的Asp.net Web应用程序及其与客户端串口的通信

服务器上托管的Asp.net Web应用程序及其与客户端串口的通信
EN

Stack Overflow用户
提问于 2015-04-13 09:15:07
回答 1查看 591关注 0票数 1

称重机与客户端PC串口连接,客户端运行web应用程序。现在客户端想在web应用程序中获取权机在串口上发送的重量。我在IIS服务器上部署了web应用程序,我想与客户端PC的串口通信。任何帮助都将不胜感激。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-02-12 05:28:17

最后,我通过使用一个与串口交互的窗口应用程序获得了我的解决方案,并在其中生成了一个httpwebrequest,如下所示:

代码语言:javascript
复制
HttpWebRequest request = (HttpWebRequest)WebRequest.Create("http://mydemo.co.in/WeightTest.aspx");
 request.Method = "Post";

            string formContent = "FormValue1=" + s + "&UserID=1";


            byte[] byteArray = Encoding.UTF8.GetBytes(formContent);
            request.ContentType = "application/x-www-form-urlencoded";
            request.ContentLength = byteArray.Length;
            Stream dataStream = request.GetRequestStream();
            dataStream.Write(byteArray, 0, byteArray.Length);
            dataStream.Close();
            WebResponse response = request.GetResponse();
            dataStream = response.GetResponseStream();
            StreamReader reader = new StreamReader(dataStream);
            //string responseFromServer = HttpUtility.UrlDecode(reader.ReadToEnd());
            //You may need HttpUtility.HtmlDecode depending on the response

            reader.Close();
            dataStream.Close();
            response.Close();

在我的web应用程序中,我使用HttpCaching存储该权重如下:

代码语言:javascript
复制
 protected void Page_Load(object sender, EventArgs e)
    {
        if (Request.Params["FormValue1"]!= null)
        {

            HttpContext.Current.Cache["Weight"] = Request.Params["FormValue1"];
        }
    }

最后,在我的应用程序中通过JQUERY提出了一个Web请求,将这个权重放在web应用程序的文本框中:

代码语言:javascript
复制
 <script type="text/javascript">
    $(document).ready(function () {
        setInterval(GetWeight, 500);
    });
    function GetWeight()
    {
        $.ajax({
            type: "POST",
            contentType: "application/json; charset=utf-8",
            data: "{}",
            url: "WeightTest.aspx/GetWeight",
            dataType: "json",
            success: function (data) {
                var info = data.d;
                if (info != null)
                    $("#txtWeight").val(info);
            }
        });
    }
</script>

所有的一切都完成了,我在网络应用程序上实时地获得了重量。但有一个问题!!由于缓存是在全球范围内完成的,所以我的web应用程序的不同用户在这个页面上得到了这个权重。我需要做的一件事是,我想从客户端应用程序发送客户端机器id,以及如何在web应用程序中获取该id并匹配这些ID,如果ID相同,那么提供权重!

知道吗?

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29601725

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档