当前位置: 首页 > news >正文

python socket模块学习记录

python黑马程序员

通过python内置socket模块,在电脑本地开发一个服务器,一个客户端,连接后进行连续的聊天。服务器和客户端均可输入exit,主动退出连接。

服务器开发.py

import socket

# 创建Socket对象
socket_server = socket.socket()
# 绑定ip地址和端口
socket_server.bind(("localhost", 8888))
# 监听端口
socket_server.listen(1)  # 整数参数,表示接受的连接数量
# 等待客户端连接
# result: tuple = socket_server.accept()
# conn = result[0]  #
# address = result[1]
conn, address = socket_server.accept()    # 返回(连接对象,客户端地址信息)
print(f"接收到了客户端的连接,客户端的信息是:{address}")

while True:
    # 接受客户端信息, 要使用客户端和服务端的本次连接对象
    data:str = conn.recv(1024).decode("UTF-8")
    # recv接受的参数是缓冲区大小,返回bytes对象,用decode转换为字符串对象
    print(f"客户端发来的消息: {data}")

    # 发送回复消息
    msg = input("请输入你要和客户端回复的消息:")
    if msg == 'exit':
        break

    msg = msg.encode("UTF-8") # encode将字符串编码为字节数组对象

    conn.send(msg)



# 关闭连接
conn.close()
socket_server.close()

客户端开发.py

import socket

# 创建Socket对象
socket_client = socket.socket()
# 连接ip地址和端口
socket_client.connect(("localhost", 8888))

while True:
    # 发送消息
    msg = input("请输入要给服务端发送的消息:")
    if msg == 'exit':
        break
    socket_client.send(msg.encode("UTF-8"))
    # 接收返回消息
    recv_data = socket_client.recv(1024)   # 缓冲区大小,recv方法是阻塞的,直到收到消息为止
    print(f"服务端回复的消息是:{recv_data.decode('UTF-8')}")

# 关闭连接
socket_client.close()

效果:

相关文章:

  • KPMG 与 SAP Joule:引领 AI 驱动咨询的新时代
  • 什么情况下spring的事务会失效
  • 私域电商的进化逻辑与技术赋能:基于开源AI大模型与S2B2C商城的创新融合研究
  • C#设计模式快速回顾
  • C语言- 工厂模式详解与实践
  • 常见中间件漏洞攻略-Apache篇
  • datetime“陷阱”与救赎:扒“时间差值”证道
  • Pytorch实现之对称卷积神经网络结构实现超分辨率
  • Pytorch深度学习教程_9_nn模块构建神经网络
  • 数据结构——哈夫曼编码、哈夫曼树
  • SAP-ABAP:SAP BW模块架构与实战应用详解
  • 使用Python将视频转化为gif
  • AF3 Rotation 类解读
  • stc8g1k08a+cd4017红绿灯
  • 嵌入式学习(31)-Lora模块A39C-T400A30D1a
  • 数据结构5(初):续写排序
  • HarmonyOS NEXT(九) :图形渲染体系
  • 嵌入式八股文学习——STL相关内容学习
  • 测试专项4:AI算法测试在测试行业中,该如何定位自己自述
  • 地理编码/经纬度解析/经纬度地址转换接口如何用JAVA对接
  • 腾讯一季度营收增长13%,马化腾:战略性的AI投入将带来长期回报
  • 绿景中国地产:洛杉矶酒店出售事项未能及时披露纯属疏忽,已采取补救措施
  • “女硕士失踪13年生两孩”案进入审查起诉阶段,哥哥:妹妹精神状态好转
  • 中国-拉共体论坛第四届部长级会议北京宣言
  • 中国人民抗日战争暨世界反法西斯战争胜利80周年纪念活动标识发布
  • 警方通报:某博主遭勒索后自杀系自导自演,已立案调查