基于开源SuperSocket实现客户端和服务端通信项目实战

摘要

本期带给大家分享的是阿笨在实际工作中遇到的真实业务场景,请跟随阿笨的视角去如何一步步解决WEB网页快速批量打印,如果您对本期的教程内容感兴趣,那么请允许让阿笨带着大家一起学习吧!

废话不多说,直接上干货,我们不生产干货,我们只是干货的搬运工。

1240

你准备好了吗,老夫要开始撸了


一、需求背景介绍

大概是2年以前工作中碰到的一个实际项目,在仓储物流系统中,打印是一个很频繁的操作环节,仓库每天经常需要大批量的在WEB网页上打印功能。比如内部HTML标签、邮递标签(10x10,10x16.5,10x20)、发货清单(A5)以及电池信和发票(A4)以及物流商返回的PDF格式的邮递标签文件,所以打印环节的快慢直接影响仓库操作人员的操作便捷性和仓库的发货效率。

1.1、大家都知道WEB网页上打印的过程:

一般分为:1、扫描包裹条形码后点击打印按钮=>2、在线弹出打印对话框=>3、选择对应的打印这三个步骤。

如果同时打印知识,假如一次性批量打印不同种类的SKU产品条码这种方式极大的繁琐给客户带来不友好的体验。

因此我们当时考虑将WEB网页打印方式能不能调整为桌面客户端打印实现,但是为了更好的与现有WEB网页业务系统集成,故又不想重新独立开发出一套客户端打印系统,那么我们能不能开发出一套打印组件,完全与业务逻辑分离只接管打印工作呢?

答案是:肯定OK!

1.2、WEB网页和WinForm桌面客户端打印的优缺点

WEB网页打印方式存在的缺陷:

1)、大批量打印SKU产品条码,会经常出现走纸偏移的问题,需要经常人工校验打印走纸;

2)、不能同时一次性打印不同规格的纸张,只能单个规格类型的进行打印;

等等。。。

WinForm桌面客户端打印优势:

1)、可以动态的切换本地默认打印机,实现根据配置文件自动匹配打印机无需人工选择,直接将打印默认文件发送指定的打印机;

2)、无需像浏览器一样安装单独PDF在线浏览插件,C#有程序的组件专门针对PDF文件格式打印;

等等。。。

1.3、那么我们今天要解决的问题可以总结为下面的一句话:

如何让WEB网页端和桌面客户端进行交互通讯?

二、实现原理图

1240

草稿图


1240

原理图

三、涉及覆盖的知识点

.NET WebService基本使用技巧;

WinForm中如何使用WebBroswer浏览器控件进行HTML页面的打印;

TCP/IP通讯组件SuperSocket实现服务端向指定的客户端推送(push)消息;

服务端crash或者重启后客户端如何实现自动断线重连;

如何防止IIS自动回收应用程序进程;

Redis消息队列存储用户离线数据实现消息的持久化;

四、源代码在线演示和解读

在线观看地址:跟着阿笨一起玩NET

微信公众号:ABenDotNet




优秀的个人博客,低调大师

微信关注我们

原文链接:https://yq.aliyun.com/articles/576448

转载内容版权归作者及来源网站所有!

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

相关文章

发表评论

资源下载

更多资源
优质分享Android(本站安卓app)

优质分享Android(本站安卓app)

近一个月的开发和优化,本站点的第一个app全新上线。该app采用极致压缩,本体才4.36MB。系统里面做了大量数据访问、缓存优化。方便用户在手机上查看文章。后续会推出HarmonyOS的适配版本。

Mario,低调大师唯一一个Java游戏作品

Mario,低调大师唯一一个Java游戏作品

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

Apache Tomcat7、8、9(Java Web服务器)

Apache Tomcat7、8、9(Java Web服务器)

Tomcat是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache、Sun 和其他一些公司及个人共同开发而成。因为Tomcat 技术先进、性能稳定,而且免费,因而深受Java 爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web 应用服务器。

Sublime Text 一个代码编辑器

Sublime Text 一个代码编辑器

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。