4.利用socket实现聊天机器人
来源:互联网 发布:电子处方软件app 编辑:程序博客网 时间:2024/06/01 10:05
服务器端
import socketsk = socket.socket()sk.bind(('127.0.0.1', 9999))#最大连接数sk.listen(5)while True: #接受连接和客户端地址信息 conn, address = sk.accept() conn.sendall(bytes('欢迎致电', encoding='utf-8')) while True: ret_bytes = conn.recv(1024) ret_str = str(ret_bytes, encoding='utf-8') if ret_str == 'q': break conn.sendall(bytes(ret_str+'说得对', encoding='utf-8'))客户端
import socketobj = socket.socket()obj.connect(('127.0.0.1', 9999))ret_bytes = obj.recv(1024)ret_str = str(ret_bytes, encoding='utf-8')print(ret_str)while True: inp = input('请输入要发送的内容:') if inp == 'q': obj.sendall(bytes(inp, encoding='utf-8')) break else: obj.sendall(bytes(inp, encoding='utf-8')) ret = str(obj.recv(1024), encoding='utf-8') print(ret)obj.close()
如果要实现并发操作,需修改服务器端,引入socketsever模块:
import socketserver'''并发处理多个客户端请求使用:1.创建类,必须继承2.必须用 handle方法3.server_forever'''class MyServer(socketserver.BaseRequestHandler): def handle(self): conn = self.request conn.sendall(bytes('欢迎致电', encoding='utf-8')) while True: ret_bytes = conn.recv(1024) ret_str = str(ret_bytes, encoding='utf-8') if ret_str == 'q': break conn.sendall(bytes(ret_str+'说得对', encoding='utf-8'))if __name__ == '__main__': sever = socketserver.ThreadingTCPServer(('127.0.0.1', 9999), MyServer) sever.serve_forever()
阅读全文
0 0
- 4.利用socket实现聊天机器人
- 利用webQQ实现聊天机器人。。
- 使用socket与线程实现简单机器人聊天
- 利用socket实现简易聊天程序
- Java 利用 Socket 实现服务器客户端聊天
- 利用 Socket 实现服务器客户端聊天
- 利用socket实现客户端与服务器端聊天
- Linux下利用Socket+Multithreading实现聊天
- python利用TCP实现会聊天的小机器人
- tensorflow实战3-利用seq2seq实现一个聊天机器人
- React实现聊天机器人
- 动手实现聊天机器人
- 利用java socket实现多线程局域网聊天应用
- Android利用Socket(TCP)通信实现即时聊天
- Android 实现智能机器人聊天
- 【Android】Android聊天机器人实现
- 聊天机器人的具体实现
- 利用python搭建微信聊天机器人
- 【Noip2012】Vigenere密码
- C++基础-string截取、替换、查找子串函数
- 在Unity中实现GPS定位(获取用户地理位置,不使用第三方插件)
- 读书笔记
- qsort的compare函数
- 4.利用socket实现聊天机器人
- Python+paramiko基于配置文件的批量主机管理
- java 接受和发送http,post,get请求,参数中文乱码解决。
- 剑指offer_二叉树---二叉树的深度
- HTTP返回码详解
- 大数据01_高并发的处理Nginx
- .Net使用对象关系映射框架Entity Framework操作数据库及其内容
- Excel 2016新增图表攻略
- sql查询时间段内所有周六日