python实现简单聊天功能


Posted in Python onJuly 07, 2021

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实现简单聊天功能

python实现简单聊天功能

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python 多线程应用介绍
Dec 19 Python
特征脸(Eigenface)理论基础之PCA主成分分析法
Mar 13 Python
利用python的socket发送http(s)请求方法示例
May 07 Python
详解Django 中是否使用时区的区别
Jun 14 Python
python实现电脑自动关机
Jun 20 Python
Python打包方法Pyinstaller的使用
Oct 09 Python
python跳出双层for循环的解决方法
Jun 24 Python
Python 装饰器@,对函数进行功能扩展操作示例【开闭原则】
Oct 17 Python
python GUI库图形界面开发之PyQt5窗口类QMainWindow详细使用方法
Feb 26 Python
详解BeautifulSoup获取特定标签下内容的方法
Dec 07 Python
python实现简易名片管理系统
Apr 11 Python
python编程简单几行代码实现视频转换Gif示例
Oct 05 Python
Python re.sub 反向引用的实现
Jul 07 #Python
Python制作一个随机抽奖小工具的实现
Python 数据科学 Matplotlib图库详解
Python3中最常用的5种线程锁实例总结
Jul 07 #Python
python实现简单的聊天小程序
python获取对象信息的实例详解
Jul 07 #Python
利用Python判断整数是否是回文数的3种方法总结
Jul 07 #Python
You might like
PHP删除特定数组内容并且重建数组索引的方法.
2011/03/25 PHP
php自动注册登录验证机制实现代码
2011/12/20 PHP
php常用字符串查找函数strstr()与strpos()实例分析
2019/06/21 PHP
showModelessDialog()使用详解
2006/09/21 Javascript
js获取url参数的使用扩展实例
2007/12/29 Javascript
JQuery防止退格键网页后退的实现代码
2012/03/23 Javascript
原生js实现shift/ctrl/alt按键的获取
2013/04/08 Javascript
javascript实现鼠标移到Image上方时显示文字效果的方法
2015/08/07 Javascript
jQuery实现商品活动倒计时
2015/10/16 Javascript
JavaScript面试题(指针、帽子和女朋友)
2016/11/23 Javascript
Javascript实现倒计时(防页面刷新)实例
2016/12/13 Javascript
Angular2里获取(input file)上传文件的内容的方法
2017/09/05 Javascript
vue params、query传参使用详解
2017/09/12 Javascript
浅谈Vue的加载顺序探讨
2017/10/25 Javascript
详解如何在vue项目中使用lodop打印插件
2018/09/27 Javascript
Vue唯一可以更改vuex实例中state数据状态的属性对象Mutation的讲解
2019/01/18 Javascript
浅谈Vue SSR中的Bundle的具有使用
2019/11/21 Javascript
用JS实现一个简单的打砖块游戏
2019/12/11 Javascript
JS常见内存泄漏及解决方案解析
2020/05/30 Javascript
[01:00:14]DOTA2-DPC中国联赛 正赛 Ehome vs Elephant BO3 第二场 2月28日
2021/03/11 DOTA
python中的编码知识整理汇总
2016/01/26 Python
Python中在for循环中嵌套使用if和else语句的技巧
2016/06/20 Python
解决pip install的时候报错timed out的问题
2018/06/12 Python
TensorFlow打印tensor值的实现方法
2018/07/27 Python
Python3按一定数据位数格式处理bin文件的方法
2019/01/24 Python
Python数据类型之Set集合实例详解
2019/05/07 Python
解决numpy矩阵相减出现的负值自动转正值的问题
2020/06/03 Python
浅谈移动端网页图片预加载方案
2018/11/05 HTML / CSS
Html5导航栏吸顶方案原理与对比实现
2020/06/10 HTML / CSS
雅诗兰黛加拿大官网:Estee Lauder加拿大
2019/07/31 全球购物
节水倡议书
2015/01/19 职场文书
个人总结与自我评价2015
2015/03/11 职场文书
给numpy.array增加维度的超简单方法
2021/06/02 Python
MySQL 8.0 Online DDL快速加列的相关总结
2021/06/02 MySQL
低门槛开发iOS、Android、小程序应用的前端框架详解
2021/10/16 Javascript
Golang map映射的用法
2022/04/22 Golang