Python socket 实现服务端和客户端数据传输(TCP)

简介: 服务器端 import socket #创建一个socket对象 socket_server = socket.socket(socket.AF_INET, socket.SOCK_STREAM) host = "127.
  • 服务器端

      import socket
    
      #创建一个socket对象
      socket_server = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
      host = "127.0.0.1"
      port = 9999
      #绑定地址
      socket_server.bind((host, port))
      #设置监听
      socket_server.listen(5)
      # socket_server.accept()返回一个元组, 元素1为客户端的socket对象, 元素2为客户端的地址(ip地址,端口号)
      client_socket, address = socket_server.accept()
    
      #while循环是为了让对话持续
      while True:
          #接收客户端的请求
          recvmsg = client_socket.recv(1024)
          #把接收到的数据进行解码
          strData = recvmsg.decode("utf-8")
          #设置退出条件
          if strData == 'q':
              break
          print("接收: %s" % strData)
          #输入
          msg = input("发送: ")
          #发送数据,需要进行编码
          client_socket.send(msg.encode("utf-8"))
      #关闭服务器端
      socket_server.close()
    
  • 客户端

      import socket
      #创建一个socket对象
      client = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    
      host = "127.0.0.1"
      port = 9999
      #连接服务端
      client.connect((host, port))
    
      while True:
          send_msg = input("发送: ")
          #设置退出条件
          if send_msg == "q":
              break
          send_msg = send_msg
          #发送数据,编码
          client.send(send_msg.encode("utf-8"))
          #接收服务端返回的数据
          msg = client.recv(1024)
          #解码
          print("接收:%s", % msg.decode("utf-8"))
      #关闭客户端
      client.close()
    
    • 流程图
      20190215170457219
参考链接:[时光不写博客-Python socket](https://www.wxy.email/2019/03/24/Python-socket/)
相关实践学习
自建数据库迁移到云数据库
本场景将引导您将网站的自建数据库平滑迁移至云数据库RDS。通过使用RDS,您可以获得稳定、可靠和安全的企业级数据库服务,可以更加专注于发展核心业务,无需过多担心数据库的管理和维护。
Sqoop 企业级大数据迁移方案实战
Sqoop是一个用于在Hadoop和关系数据库服务器之间传输数据的工具。它用于从关系数据库(如MySQL,Oracle)导入数据到Hadoop HDFS,并从Hadoop文件系统导出到关系数据库。 本课程主要讲解了Sqoop的设计思想及原理、部署安装及配置、详细具体的使用方法技巧与实操案例、企业级任务管理等。结合日常工作实践,培养解决实际问题的能力。本课程由黑马程序员提供。
相关文章
|
Python
Socket学习笔记(二):python通过socket实现客户端到服务器端的图片传输
使用Python的socket库实现客户端到服务器端的图片传输,包括客户端和服务器端的代码实现,以及传输结果的展示。
1310 3
Socket学习笔记(二):python通过socket实现客户端到服务器端的图片传输
|
JSON 数据格式 Python
Socket学习笔记(一):python通过socket实现客户端到服务器端的文件传输
本文介绍了如何使用Python的socket模块实现客户端到服务器端的文件传输,包括客户端发送文件信息和内容,服务器端接收并保存文件的完整过程。
1172 1
Socket学习笔记(一):python通过socket实现客户端到服务器端的文件传输
|
Kubernetes 网络协议 Python
Python网络编程:从Socket到Web应用
在信息时代,网络编程是软件开发的重要组成部分。Python作为多用途编程语言,提供了从Socket编程到Web应用开发的强大支持。本文将从基础的Socket编程入手,逐步深入到复杂的Web应用开发,涵盖Flask、Django等框架的应用,以及异步Web编程和微服务架构。通过本文,读者将全面了解Python在网络编程领域的应用。
394 1
|
消息中间件 监控 网络协议
Python中的Socket魔法:如何利用socket模块构建强大的网络通信
本文介绍了Python的`socket`模块,讲解了其基本概念、语法和使用方法。通过简单的TCP服务器和客户端示例,展示了如何创建、绑定、监听、接受连接及发送/接收数据。进一步探讨了多用户聊天室的实现,并介绍了非阻塞IO和多路复用技术以提高并发处理能力。最后,讨论了`socket`模块在现代网络编程中的应用及其与其他通信方式的关系。
1388 3
|
11月前
|
数据采集 机器学习/深度学习 人工智能
Python:现代编程的首选语言
Python:现代编程的首选语言
1696 102
|
11月前
|
数据采集 机器学习/深度学习 算法框架/工具
Python:现代编程的瑞士军刀
Python:现代编程的瑞士军刀
520 104
|
11月前
|
人工智能 自然语言处理 算法框架/工具
Python:现代编程的首选语言
Python:现代编程的首选语言
408 103
|
11月前
|
机器学习/深度学习 人工智能 数据挖掘
Python:现代编程的首选语言
Python:现代编程的首选语言
435 82
|
10月前
|
Python
Python编程:运算符详解
本文全面详解Python各类运算符,涵盖算术、比较、逻辑、赋值、位、身份、成员运算符及优先级规则,结合实例代码与运行结果,助你深入掌握Python运算符的使用方法与应用场景。
539 3
|
10月前
|
数据处理 Python
Python编程:类型转换与输入输出
本教程介绍Python中输入输出与类型转换的基础知识,涵盖input()和print()的使用,int()、float()等类型转换方法,并通过综合示例演示数据处理、错误处理及格式化输出,助你掌握核心编程技能。
782 3

推荐镜像

更多