python简单的socket编程,实现服务器和客户端进行聊天
2021/8/11 14:06:49
本文主要是介绍python简单的socket编程,实现服务器和客户端进行聊天,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
<----这是一个简单的socket编程通信,使用了tcp协议。后续继续学习会进一步完善的,谢谢!!---->
服务器端源码
#导入网络编程模块 import socket #实例化一个网络编程对象 s=socket.socket() #类似买手机 #绑定ip地址,如果绑定本机ip的话,其他人都可访问,我们在测试过程中尽量使用127.0.0.1,表示本机地址,但是其他人访问不了 s.bind(('127.0.0.1',9000)) #类似绑定卡号,9000为应用接口 #进行监听 s.listen()#类似开机 #等待连接 print('等待客户端连接中......') #接受信息连接和地址的对象 conn,addr=s.accept() #类似接电话 msg1=conn.send('服务器开放时间为:早上八点到晚上十二点。请各位客户悉知!谢谢!!'.encode('utf-8')) msg=conn.recv(1024) print(msg.decode('utf-8')) # # while True: msg=conn.recv(1024)#接受1024个字节信息 print('客户端:',msg.decode('utf-8')) inp=input('服务器:') if inp=='exit': conn.send('服务器关闭了,请下次再来吧'.encode('utf-8')) break conn.send(inp.encode('utf-8'))#发送消息 #关闭一个客户端的连接 print('已经关闭一个客户端的连接!') conn.close()#挂电话 print('关闭服务器!') s.close()#关机
客户端源码
import socket s=socket.socket() s.connect(('127.0.0.1',9000)) s.send('客户端1已经连接上了'.encode('utf-8')) msg1=s.recv(1024) print(msg1.decode('utf-8')) while True: inp=input('客户端:') if inp=='exit': s.send('客户端1断开连接了'.encode('utf-8')) break else: s.send(inp.encode('utf-8'))#为什么发送不出去 msg=s.recv(1024)#接受1024个字节 print('服务器:',msg.decode('utf-8')) #s.send('你好,服务器')会出现错误TypeError: a bytes-like object is required, not 'str',因为需要字节传输 #那你是用utf-8进行编码,所以服务器端需要用utf-8进行解码 print('客户端1关闭会话!') s.close()
实现过程
(1)首先启动服务器端程序
(2)然后启动客户端程序
(3)最后就可以进行通信了
(4)程序中设置了客户端或者服务器输入exit关键字就自动退出连接
这篇关于python简单的socket编程,实现服务器和客户端进行聊天的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-12-24Python编程入门指南
- 2024-12-24Python编程基础入门
- 2024-12-24Python编程基础:变量与数据类型
- 2024-12-23使用python部署一个usdt合约,部署自己的usdt稳定币
- 2024-12-20Python编程入门指南
- 2024-12-20Python编程基础与进阶
- 2024-12-19Python基础编程教程
- 2024-12-19python 文件的后缀名是什么 怎么运行一个python文件?-icode9专业技术文章分享
- 2024-12-19使用python 把docx转为pdf文件有哪些方法?-icode9专业技术文章分享
- 2024-12-19python怎么更换换pip的源镜像?-icode9专业技术文章分享