这种思路只可以,允许一个客户端连接,而且当一个客户端连接后,整个程序会以堵塞的状态继续运行(等待客户时,下面的代码不会运行,下面详细讲解)。
所以我们加上多线程,如下
主线程是当一个进程被创建,于此同时这个进程一个线程也被创建,通常我们叫这个线程叫主线程,主线程像学校中的校长一样,有权限处理学校大事与规定放学时间。主线程还可以开启若干个子线程,校长可以雇几个班主任来上课。当主线程结束时,程序也就结束了(在没有开子线程的条件下)。
子线程通常是辅助主线程的线程。当开启子线程时,主线程仍然可以继续运行(子线程与主线程并行)。
Python中线程的实现
请看下方代码逐句解析:
(结果因配置而异)
while循环会“暂停”程序,循环不结束,循环的下方代码不执行,相当于把循环所在的线程进入了一个暂停的状态。
打印出来的结果:
当然,你也或许会看到有些人的代码是这样写的:
bind用于绑定端口,listen用于开始监听。
然后就是等待客户连接了。
增添一个whlie循环,结束的条件是发过来的数据为无(没有数据)。
完整代码:
现在我们来制作简单客户端,
有了服务器的经验,客户端就简单了。
直接连接服务器。
接收是类似的,不过直接跳过握手这一步,直接接收数据。
上述主要讲的接收数据的方式,发送数据比较简单,已注释。
开始正式制作
什么这么多才正式开始急,学习上面的铺垫,下面做起来就很简单了。
我们要做的是一个交互式的软件,就要把交互式的结构先做好,如下:
下载地址:http://ex666.cn/_8qY
文章知识点与官方知识档案匹配,可进一步学习相关知识Python入门技能树首页概览212224 人正在系统学习中 相关资源:诗词鉴赏大全软件-教育文档类资源-CSDN文库
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!