Python聊天软件3--TCP客户端

2025-10-24 12:13:10

1、python提供的threading库非常好用,通过start开始线程,通过join等待线程结束。在客户端与服务器连接成功后,需要随时等待接收服务器发过来的消息,所以需要启动一个接收消息的线程

Python聊天软件3--TCP客户端

2、运行结果如下

Python聊天软件3--TCP客户端

1、这里只介绍客户端相关的操作,主要有连接服务器、关闭连接、发送信息和接收信息

需要包含以下库

import threadingimport timeimport socket

2、初始化接口,初始化了socket变量,和一个是否停止isStop变量。isStop是用来接收接收线程

Python聊天软件3--TCP客户端

3、连接服务接口,调用socket的连接接口,并设置为非阻塞模式

发送消息接口,调用socket的发送接口

关闭连接接口,设置线程停止标识,等待线程退出,并关闭socket

Python聊天软件3--TCP客户端

4、接收消息接口,启动线程,并将TCPSocket类和显示接收消息的列表传递到接收线程函数

Python聊天软件3--TCP客户端

5、线程函数:判断是否要停止标识,如果不停止则接收数据。这里使用的异常捕获,因为设置了socket为非阻塞,如果当前没有接收到数据,就会收到异常。

没有数据时,等待0.5秒;收到数据时,添加数据到数据列表中

Python聊天软件3--TCP客户端

1、修改界面中按钮的点击函数,注:这里在界面上增加了一个断开的接口,并根据需要挪动了界面元素创建的位置

需要引入TCPSocket类文件

Python聊天软件3--TCP客户端

2、连接按钮和断开按钮函数

Python聊天软件3--TCP客户端

3、发送消息函数

Python聊天软件3--TCP客户端

1、这里先使用tcp socket调试工具做服务器端,绑定了60000端口

Python聊天软件3--TCP客户端

2、在客户端输入服务器ip和端口,并点击连接按钮

Python聊天软件3--TCP客户端

3、连接成功后的服务器界面

Python聊天软件3--TCP客户端

4、在服务器和客户端发送消息

Python聊天软件3--TCP客户端

Python聊天软件3--TCP客户端

5、关闭与服务器的连接

Python聊天软件3--TCP客户端

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢