“对方正在输入中……”,这个程序逻辑是怎么实现的?
2023-04-29 来源:飞速影视
“对方正在输入中…”这个逻辑是怎么实现的?有个程序员小伙伴问我这个问题,讲真的,我从业以来还真没有做过对话类的软件,但是程序都是相通的,于是我没想多久,就给了这个小伙伴一个编码思路,并且给他写了一个Demo。
思路很简单,那就是用Sokcet通讯!首先,每个软件都是一个独立的Socket服务端,每个对话窗口在发消息的时候,可以视为一个客户端,所以,想要做到双向通讯,那么这个软件的Socket架构应该是一个服务端对应多个客户端,当然,也可以做成一对一!
具体实现的思路就是我们可以监控聊天输入框的文本变化,当输入框的文本发生变化的时候,不管有没有发送消息,此时向对方软件发送一条正在输入的消息。当对方软件收到了这条消息以后,改变文字为“对方正在输入中…”即可。
但是,因为只有对方正在输入时,我们的界面才会显示“对方正在输入中…”,万一对方不再输入了,这个提示怎么去除呢?
其实实现思路也很简单,那就是等待几秒,如果没有继续收到对方正在输入的消息,再改回正常状态即可!
下图是我使用CSharp的WinForm模拟的Socket双向通讯,并且监控输入框,实现“对方正在输入中…”这个功能。
本站仅为学习交流之用,所有视频和图片均来自互联网收集而来,版权归原创者所有,本网站只提供web页面服务,并不提供资源存储,也不参与录制、上传
若本站收录的节目无意侵犯了贵司版权,请发邮件(我们会在3个工作日内删除侵权内容,谢谢。)
www.fs94.org-飞速影视 粤ICP备74369512号