Python基于Socket实现简单聊天功能示例
本文介绍如何使用Python标准库socket模块快速实现一个简单的网络聊天程序。通过服务端监听与客户端连接,演示了基于TCP协议的文本消息收发流程,包含完整的服务端和客户端代码示例及运行结果分析,适合初学者学习网络编程基础。
Python Socket聊天程序实现概述
Python的功能确实强大,几行代码就能实现聊天功能 ,供大家参考,具体内容如下
服务端:
服务端代码实现
from socket import socket
def main():
#创建套接字对象并指定使用哪种传输服务 socket()括号不传递参数默认是tcpipv4
server = socket()
#绑定ip地址和端口(这样可以区分不同的服务) 端口可以自己指定建议使用1024以后的端口
server.bind(('10.7.152.123',5650))
# 开启监听 ----监听客户端连接到服务器
server.listen(512)
#检查服务器是否已经启动
print('服务器已启动')
#通过循环接收客户端的连接,并做出相应的处理(提供服务)
while True:
#接收客户端的连接 accpet是一个阻塞的方法 如果没有客户端连接到服务器
#这个方法就会阻塞代码不会向下执行(返回的对象是一个元祖)
client , addr = server.accept()
print(str(addr) + '已经成功连接到服务器.')
while True:
#decode对接收到的消息进行解码
print(client.recv(1024).decode('utf-8'))
data = input('服务器:')
#判断客户端发来的消息如果出现bey或者拜拜跳出循环
if data == 'bey' or data == '拜拜':
break
#encode对发送的消息进行转码
client.send(data.encode('utf-8'))
#断开连接
client.close()
if __name__ == '__main__':
main()
客户端:
客户端代码实现
from socket import socket
def main():
#创建套接字对象
client = socket()
#连接服务器
client.connect(('10.7.152.123',5650))
while True:
data = input('客户端:')
#向服务端发送消息
client.send(data.encode('utf-8'))
if data == 'Bey' or data == '拜拜':
break
print(client.recv(1024).decode('utf-8'))
client.colse()
if __name__ == '__main__':
main()
运行结果展示
运行结果:


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持本站。
免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。









