称重机与客户端PC串口连接,客户端运行web应用程序。现在客户端想在web应用程序中获取权机在串口上发送的重量。我在IIS服务器上部署了web应用程序,我想与客户端PC的串口通信。任何帮助都将不胜感激。
发布于 2016-02-12 05:28:17
最后,我通过使用一个与串口交互的窗口应用程序获得了我的解决方案,并在其中生成了一个httpwebrequest,如下所示:
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存储该权重如下:
protected void Page_Load(object sender, EventArgs e)
{
if (Request.Params["FormValue1"]!= null)
{
HttpContext.Current.Cache["Weight"] = Request.Params["FormValue1"];
}
}最后,在我的应用程序中通过JQUERY提出了一个Web请求,将这个权重放在web应用程序的文本框中:
<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相同,那么提供权重!
知道吗?
https://stackoverflow.com/questions/29601725
复制相似问题