网页调用本地程序的一个解决方案

网页调用本地程序的一个解决方案最近有个项目需要网页调用本地标签打印设备(RFID),设备方提供了动态链接库文件(dll),项目拿到手后就开始上网各种搜索,结合自己掌握的知识,

大家好,欢迎来到IT知识分享网。

最近有个项目需要网页调用本地标签打印设备(RFID),设备方提供了动态链接库文件(dll),项目拿到手后就开始上网各种搜索,结合自己掌握的知识,自己总结出一个方案。欢迎各位大牛探讨!

方案的实现思路

技术栈js、C#(winform);利用websocket服务接收页面的打印请求,调用dll实现控制打印设备进行打印并写入RFID芯片,但这个方案有个不方便的地方,就是需要用户在打印前先去启动这个打印服务程序。后面去到现场实施部署时,发现一个现象完美将这个坑避开了,后面会分享给大家!

实现过程

1、实现websocket服务端

//启动websocket服务 private void websocketServer() { webSocketServer.NewMessageReceived += WebSocketServer_NewMessageReceived; if (!webSocketServer.Setup(IP, port)) { this.label1.Text = "设置服务监听失败!"; } if (!webSocketServer.Start()) { this.label1.Text = "启动服务监听失败!"; } this.label1.Text = "启动打印服务成功!"; }

2、解析前端请求

//接收前端请求的Json,并调用打印方法打印标签 private void WebSocketServer_NewMessageReceived(WebSocketSession session, string value) { JObject jobj = (JObject)JsonConvert.DeserializeObject(value); string gdmc = jobj["xxxx"].ToString(); }

3、打印

Printdll.PTK_DrawText_TrueType(220, 60, 56, 0, "微软雅黑", 1, 300, false, false, false, "XXXXXXXXX");

4、前端请求

function PrintRequest() { var ws = new WebSocket("ws://IP:port"); ws.onopen = function(){   //当WebSocket创建成功时,触发onopen事件 var res = Json; console.log("open");   ws.send(res); //将消息发送到服务端 } }

5、效果

网页调用本地程序的一个解决方案

网页调用本地程序的一个解决方案

最后告诉大家那个坑怎么避的,那个打印设备有点小贵,客户只采购了两台,所以只能采用共享打印,然后就固定了一台电脑作为打印服务器,所以就把坑给完美避了。

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/59274.html

(0)

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

关注微信