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

简介: 摘要本期带给大家分享的是阿笨在实际工作中遇到的真实业务场景,请跟随阿笨的视角去如何一步步解决WEB网页快速批量打印,如果您对本期的教程内容感兴趣,那么请允许让阿笨带着大家一起学习吧!废话不多说,直接上干货,我们不生产干货,我们只是干货的搬运工。

摘要

本期带给大家分享的是阿笨在实际工作中遇到的真实业务场景,请跟随阿笨的视角去如何一步步解决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




目录
相关文章
|
Web App开发 安全 网络协议
Qt开发技术:QWebSocket客户端、服务端介绍与开发
Qt开发技术:QWebSocket客户端、服务端介绍与开发
Qt开发技术:QWebSocket客户端、服务端介绍与开发
|
7天前
|
监控 小程序 前端开发
小程序全栈开发中的WebSocket实时通信实践
【4月更文挑战第12天】本文探讨了小程序全栈开发中WebSocket实时通信的实践,WebSocket作为实现双向实时通信的协议,其长连接特性和双向通信能力在实时聊天、推送、游戏和监控等场景中发挥关键作用。开发者需注意安全性、性能和兼容性问题,以优化用户体验并确保小程序稳定运行。通过掌握WebSocket,开发者能提升小程序的功能性和用户体验。
|
5月前
|
存储 Java Maven
服务端apk打包教程
本文我将给大家介绍一个 apk 打包工具 VasDolly 的使用介绍、原理以及如何在服务端接入 VasDolly 进行服务端打渠道包操作。
74 0
|
8月前
|
网络协议 Linux API
C/C++服务器和客户端交互笔记
Socket通信三要素:通信的目的地址、使用的端口号(http 80 / smtp 25)、使用的传输协议(TCP、UDP)。
83 0
|
9月前
|
前端开发 Java
在项目中使用WebSocket进行前后端通信
在项目中使用WebSocket进行前后端通信
211 0
|
10月前
|
网络安全 开发工具 数据安全/隐私保护
建立一个流式的RPC通信 | 青训营笔记
建立一个流式的RPC通信 | 青训营笔记
133 0
|
12月前
|
消息中间件 机器学习/深度学习 移动开发
网络编程五-服务器推送技术
网络编程五-服务器推送技术
119 0
|
移动开发 前端开发 网络协议
前端如何实现即时通讯(websocket)
前端如何实现即时通讯(websocket)
前端如何实现即时通讯(websocket)
|
自然语言处理 前端开发 大数据
小黄鸡的客户端和服务器端通讯 | 学习笔记
快速学习小黄鸡的客户端和服务器端通讯
130 0
|
存储 网络协议 C语言
服务端编程示例|学习笔记
快速学习服务端编程示例
服务端编程示例|学习笔记