聊天功能具体实现过程
白癜风专家李从悠 https://m.39.net/disease/a_5493726.html实现思路:1.先实现一个简单的终端显示连接的功能,保证最小功能可以实现。2.使用QtCreator制作一个UI用户界面。3.实现UI界面本地的消息发送和接收。4.将本地的接收替换成socket接收。5.加入多线程和消息发送,实现既可以显示UI界面,发送消息和接收消息。具体实现过程1.实现最小功能这里使用的是UDP连接方式。客户端很好理解,就是先给服务端发送一个消息,之后进入主循环等待服务端发送消息过来。服务端先创建了一个用户列表,用来存储已经连接的用户。之后进入主循环,等待用户连接,如果用户是新用户就给它发送恭喜你已经加入python学习群,给其它已存在用户通知某某用户加入群聊,之后再将新用户添加进用户列表,如果不是新用户,那么就将某个用户发送过来的消息,一次给所有用户发一遍消息,实现消息同步的效果。2.实现UI用户界面这个就不讲了,主要是工具的使用,按钮名字pbtn_send,输入消息名字input_text,消息显示名字message_display,左侧成员显示名字player_display。预览效果,使用了水平布局,整个也没具有自适应的效果。3.实现本地的消息发送和接收。先使用pyside2-uic将chat.ui转换成ui_chat.py。初始化效果实现本地发送效果4.将本地的接收替换成socket接收5.加入多线程和消息发送前面的效果没有出现UI界面,因为要接收消息,需要一个while循环,进去之后导致程序无法运行到后面,所以UI界面显示不出来,只能通过引入线程解决。将接收消息循环的代码放到一个线程里去,UI界面在主线程显示,效果可以实现,但是又出现了一个新问题,子线程不能将消息发送到主线程空间显示,后面通过pyside2的Signal来实现主线程和子线程通信。(全文完)python群聊工具实现(上)python和scratch生成随机不相同的十个数python鼠标连点器-测试版如何利用python识别验证码和车牌号?
上一篇文章: 我的世界老mc玩家的痛,附魔再好的装备, 下一篇文章: 泰拉瑞亚怎么自动挥舞自动挥舞方法介绍
转载请注明:http://www.abuoumao.com/hytd/9609.html