Python Socket编程之聊天机器人(源码)

上一节:

<<用Python将你的女朋友,藏在图片里(附代码)>>

不知道你们女朋友,上节课有没有收到你们的图片,大吃一惊、给你个大大的拥抱!哈哈,今天我们教点更厉害的。让你实现一个聊天室,

本次文章要使用之前写过的一个代码,所以没看过的,请点击下面链接学习一下。顺便按照里面的要求,去申请一个机器人,获得apikey。

<<【Python】AI智能聊天机器人>>

然后发送【源码】下载【S21.py】这个文件

再来开始看今天的教程

Socket科普

Python Socket编程之聊天机器人(源码)_第1张图片

简而言之,通过Socket,就是可以将信息发送给另一台主机里的某个程序,就像QQ和微信一样。

你要做什么

需要用代码实现一个客户端程序、一个服务器端程序,然后进行消息的发送,自动回复等功能!

上面所说的一切都做完了,才能进行下一步哦

Client客户端

导入模块

python自带模块,直接导入就可以。

链接服务器段

首先你要先通过socket建立一个客户端,然后通过ip和端口链接到服务器。每个电脑的本地主机的ip都是“127.0.0.1”,端口你可以自己定义一个。recv就是receive的缩写就是“接收消息”函数,会接收到从服务器发来的消息。

Python Socket编程之聊天机器人(源码)_第2张图片

因为通信过程使用的都是字节流,就是

“01101101001010110…010111100100100”

所以要使用decode进行解码

发送消息

写一个while死循环,然后随时接收用户键盘输入的内容,进行“utf-8”编码后,send发送给服务器端,然后等待服务器端返回消息,再使用decode解码输出。最后,程序结束时,要记得关闭这个链接。

Python Socket编程之聊天机器人(源码)_第3张图片

到这里,客户端就写完了。

Server服务器端

导入模块

这里的s21,就是我们之前自己写的聊天机器人源码,这里只需要稍微修改一下,然后给今天的代码使用。as MilFun 就是给模块起个别名,随便你怎么起,只要不起冲突都可以。

Python Socket编程之聊天机器人(源码)_第4张图片

把上图中的print改成return就可以了。然后最后的主程序那些都删掉,只保留sendMsg()函数。如下图:

Python Socket编程之聊天机器人(源码)_第5张图片

还记得把代码里面的key改成你自己生成的机器人key,因为每天调用次数有限,你们还是用自己的吧!

开始监听端口

Python Socket编程之聊天机器人(源码)_第6张图片

这里的端口是8888,所以你客户端代码里也要是8888,否则就会连不上。其它不懂的看注释。

等待客户端链接

写一个死循环,一有用户链接,就发送你好。accept是接收客户端链接请求。

Python Socket编程之聊天机器人(源码)_第7张图片

接收、发送消息

再写一个死循环,用来给用户回消息,只要接收到用户发来的消息,就是哟个MilFun.sendMsg函数,发给机器人然后把返回来的消息赋值给res。MilFun就是导入的时候,你起的别名,sendMsg就是我们在s21.py里面自己定义的函数功能。

Python Socket编程之聊天机器人(源码)_第8张图片

    同样记得,编码解码,最后关闭链接。完事!

测试调试

    优秀的人儿,要记得调试自己的代码,找Bug,修Bug。

    所以你要先运行服务器端那个文件,然后再运行客户端那个文件。

    左边是服务器端,        右边是客户端。

Python Socket编程之聊天机器人(源码)_第9张图片
Python Socket编程之聊天机器人(源码)_第10张图片

python完整代码

客户端

Python Socket编程之聊天机器人(源码)_第11张图片

服务器端

Python Socket编程之聊天机器人(源码)_第12张图片

需要源码,请发送【源码】到公众号

今天文件名为【Socket.zip】

你可能感兴趣的:(python)