python——通过socket实现服务器端和客户端的在线聊天

简介: python——通过socket实现服务器端和客户端的在线聊天

本文转载:https://xiaochuhe.blog.csdn.net/article/details/122686803
服务端代码:

#通过socket实现服务器端和客户端的在线聊天
import socket #导入socket模块
s = socket.socket(socket.AF_INET,socket.SOCK_STREAM)#声明socket类型面向连接,套接字家族为AF_INET
host = '0.0.0.0' #设置本地主机作为地址
port = 30000#设置端口
s.bind((host,port)) #绑定地址和端口
s.listen()#开始监听
conn,addr = s.accept()#建立客户连接
print('连接的地址和端口:', addr)  # 输出响应地址127.0.0.1和一个任意监听的地址的端口
while True:
    data = conn.recv(1024)  # 接受数据为1024字节
    if data.decode() == 'close':
        break
    else:
        print(f'客户端发送的数据:{data.decode()}')
    data_res = input("服务端:")
    if data_res == 'close':
        conn.send(data_res.encode())
        break
    else:
        conn.send(data_res.encode())
s.close()#会话关闭
conn.close()#连接关闭

客户端代码:

#客户端
import socket #导入socket模块
c = socket.socket(socket.AF_INET,socket.SOCK_STREAM)#声明socket类型面向连接,套接字家族为AF_INET
host = '127.0.0.1' #设置本地主机作为地址,必须跟客户端一样
port =30000 #设置端口,必须跟客户端一样
try:
    c.connect((host, port))  # 绑定地址和端口,必须跟客户端一样
except Exception as e:
    print('服务端不存在!')
while True:
    data_res = input("服务端:")
    c.sendall(data_res.encode())#发送信息
    data = c.recv(1024)#接受服务器端的数据为1024字节
    data = data.decode()#解码接受到的数据
    print("接收到服务器的数据为:",data)
    if data_res == 'close':
        break
c.close()#连接关闭

最终实现效果:

先运行服务器端,建立通信,再运行客户端。
服务端输出结果:
图片.png

客户端输出结果:

图片.png

原文链接:https://blog.csdn.net/xiaofengdada/article/details/122686803

相关文章
|
27天前
|
Python
Socket学习笔记(二):python通过socket实现客户端到服务器端的图片传输
使用Python的socket库实现客户端到服务器端的图片传输,包括客户端和服务器端的代码实现,以及传输结果的展示。
106 3
Socket学习笔记(二):python通过socket实现客户端到服务器端的图片传输
|
10天前
|
Kubernetes 网络协议 Python
Python网络编程:从Socket到Web应用
在信息时代,网络编程是软件开发的重要组成部分。Python作为多用途编程语言,提供了从Socket编程到Web应用开发的强大支持。本文将从基础的Socket编程入手,逐步深入到复杂的Web应用开发,涵盖Flask、Django等框架的应用,以及异步Web编程和微服务架构。通过本文,读者将全面了解Python在网络编程领域的应用。
13 1
|
19天前
|
消息中间件 监控 网络协议
Python中的Socket魔法:如何利用socket模块构建强大的网络通信
本文介绍了Python的`socket`模块,讲解了其基本概念、语法和使用方法。通过简单的TCP服务器和客户端示例,展示了如何创建、绑定、监听、接受连接及发送/接收数据。进一步探讨了多用户聊天室的实现,并介绍了非阻塞IO和多路复用技术以提高并发处理能力。最后,讨论了`socket`模块在现代网络编程中的应用及其与其他通信方式的关系。
|
24天前
|
IDE 网络安全 开发工具
IDE之pycharm:专业版本连接远程服务器代码,并配置远程python环境解释器(亲测OK)。
本文介绍了如何在PyCharm专业版中连接远程服务器并配置远程Python环境解释器,以便在服务器上运行代码。
198 0
IDE之pycharm:专业版本连接远程服务器代码,并配置远程python环境解释器(亲测OK)。
|
9天前
|
缓存 监控 Linux
Python 实时获取Linux服务器信息
Python 实时获取Linux服务器信息
|
JSON 移动开发 API
新浪微博Python客户端接口OAuth2
Keyword: Python Oauth2 微博 sina weibo   #!/usr/bin/env python # -*- coding: utf-8 -*- __version__ = '1.
1282 0
|
JSON 移动开发 开发工具
新浪微博Python3客户端接口OAuth2
Keyword: Python3 Oauth2 新浪微博 本接口基于廖雪峰的weibo python SDK修改完成,其sdk为新浪官方所推荐,原作者是用python2写的 经过一些修改,这里提供基于python3的 weibo SDK     #!/usr/bin/env python # -*- coding: utf-8 -*- __version__ = '1.
1362 0
|
9天前
|
设计模式 开发者 Python
Python编程中的设计模式:工厂方法模式###
本文深入浅出地探讨了Python编程中的一种重要设计模式——工厂方法模式。通过具体案例和代码示例,我们将了解工厂方法模式的定义、应用场景、实现步骤以及其优势与潜在缺点。无论你是Python新手还是有经验的开发者,都能从本文中获得关于如何在实际项目中有效应用工厂方法模式的启发。 ###
|
2天前
|
存储 人工智能 数据挖掘
从零起步,揭秘Python编程如何带你从新手村迈向高手殿堂
【10月更文挑战第32天】Python,诞生于1991年的高级编程语言,以其简洁明了的语法成为众多程序员的入门首选。从基础的变量类型、控制流到列表、字典等数据结构,再到函数定义与调用及面向对象编程,Python提供了丰富的功能和强大的库支持,适用于Web开发、数据分析、人工智能等多个领域。学习Python不仅是掌握一门语言,更是加入一个充满活力的技术社区,开启探索未知世界的旅程。
11 5
|
2天前
|
人工智能 数据挖掘 开发者
探索Python编程:从基础到进阶
【10月更文挑战第32天】本文旨在通过浅显易懂的语言,带领读者从零开始学习Python编程。我们将一起探索Python的基础语法,了解如何编写简单的程序,并逐步深入到更复杂的编程概念。文章将通过实际的代码示例,帮助读者加深理解,并在结尾处提供练习题以巩固所学知识。无论你是编程新手还是希望提升编程技能的开发者,这篇文章都将为你的学习之旅提供宝贵的指导和启发。