阅读量:0
目录
1.认识Python
Python 是一个高层次的结合了解释性、编译性、互动性和面向对象的脚本语言。
Python 的设计具有很强的可读性,相比其他语言经常使用英文关键字或标点符号,它具有比其他语言更有特色的语法结构。
2.环境与工具
2.1 python环境
在Windows上使用命令行窗口查看所安装的python版本
python --version
2.2 Visual Studio Code编译
Visual Studio Code是一款由微软开发且跨平台的免费源代码编辑器。该软件以扩展的方式支持语法高亮、代码自动补全、代码重构功能,并且内置了命令行工具和Git 版本控制系统。
3.对话系统
3.1 代码构思
代码分为两块,一块是服务端,一块是客户端,使用socket模块实现。
3.2服务端
服务端:创建套接字对象——将套接字对象与服务器的IP和端口绑定——-启动监听——接收信息——循环——传输完成,关闭套接字
import socket #建立socket套接字对象 sk=socket.socket() #绑定IP地址和端口号 sk.bind(('127.0.0.1',8888)) sk.listen() flag=0 while True: print('接收准备') conn,addr=sk.accept() while True: rec_msg=conn.recv(1024).decode('utf-8') if rec_msg=='q': print('对方连接断开。') flag=1 break if rec_msg: print('对方说:',rec_msg) sed_msg=input('请输入回复:') conn.send(sed_msg.encode('utf-8')) if sed_msg=='q': flag=2 break #退出循环,关闭连接 conn.close() if flag==1: continue elif flag==2: break sk.close()
3.3客户端
客户端:创建套接字对象——向服务器地址和端口发送请求——寄哪里循环——传输完成,关闭套接字
import socket sk=socket.socket() #连接服务端 sk.connect(('127.0.0.1',8888)) while True: #发送消息 send_msg=input('请输入消息:') sk.send(send_msg.encode('utf-8')) if send_msg=='q': break rec_msg=sk.recv(1024).decode('utf-8') if rec_msg=='q': print('服务器关闭') break if rec_msg: print('对方消息:',rec_msg) sk.close()
3.4运行结果
4.总结
可以在单台设备上打开两个窗口分别运行客户端和服务端,也可以在一台设备上打开服务端后,在另一台设备上运行客户端程序,进而实现一个局域网内的聊天程序。
注意ip地址和端口号要设置好。
你也运行试试吧!