«

如何用python实现简单聊天功能

时间:2024-3-28 09:13     作者:韩俊     分类: Python


这篇文章主要介绍了如何用python实现简单聊天功能的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇如何用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()

运行结果:

标签: python

热门推荐