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

本文涉及的产品
数据传输服务 DTS,数据迁移 small 3个月
推荐场景:
MySQL数据库上云
数据传输服务 DTS,数据同步 1个月
简介: 服务器端 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

    图片来源:https://blog.csdn.net/slavik_/article/details/82430717
    参考链接:时光不写博客-Python socket

相关实践学习
RocketMQ一站式入门使用
从源码编译、部署broker、部署namesrv,使用java客户端首发消息等一站式入门RocketMQ。
Sqoop 企业级大数据迁移方案实战
Sqoop是一个用于在Hadoop和关系数据库服务器之间传输数据的工具。它用于从关系数据库(如MySQL,Oracle)导入数据到Hadoop HDFS,并从Hadoop文件系统导出到关系数据库。 本课程主要讲解了Sqoop的设计思想及原理、部署安装及配置、详细具体的使用方法技巧与实操案例、企业级任务管理等。结合日常工作实践,培养解决实际问题的能力。本课程由黑马程序员提供。
相关文章
|
6天前
|
XML 物联网 API
服务端和客户端 RESTful 接口上传 Excel 的 Python 代码
本文作者木头左是物联网工程师,分享如何使用 Python 和 Flask-RESTful 构建一个简单的 RESTful API,实现文件上传功能,特别支持Excel文件。通过安装Flask和Flask-RESTful库,创建Flask应用,实现文件上传接口,并将其添加到API。该方法具有简单易用、灵活、可扩展及社区支持等优点。
服务端和客户端 RESTful 接口上传 Excel 的 Python 代码
|
11天前
|
开发框架 网络协议 Unix
【嵌入式软件工程师面经】Socket,TCP,HTTP之间的区别
【嵌入式软件工程师面经】Socket,TCP,HTTP之间的区别
18 1
|
18天前
|
网络协议 Java
Java的Socket编程:TCP/IP与UDP深入探索
Java的Socket编程:TCP/IP与UDP深入探索
19 0
|
5天前
|
JSON 数据格式 Python
python3 服务端使用CGI脚本处理POST的Json数据
python3 服务端使用CGI脚本处理POST的Json数据
21 6
|
11天前
|
JSON 安全 Java
JAVA Socket 实现HTTP与HTTPS客户端发送POST与GET方式请求
JAVA Socket 实现HTTP与HTTPS客户端发送POST与GET方式请求
15 0
|
11天前
|
移动开发 Java
Java Socket编程 - 基于Socket实现HTTP下载客户端
Java Socket编程 - 基于Socket实现HTTP下载客户端
14 1
|
11天前
|
监控 网络协议 Java
Java Socket编程 - 基于TCP方式的二进制文件传输
Java Socket编程 - 基于TCP方式的二进制文件传输
16 0
|
11天前
|
网络协议 Java
Java Socket编程 - 基于TCP方式的客户服务器聊天程序
Java Socket编程 - 基于TCP方式的客户服务器聊天程序
18 0
|
12天前
|
前端开发 Java 网络安全
基于Java Socket实现的SMTP邮件客户端 - 全面支持SSL, TLS
基于Java Socket实现的SMTP邮件客户端 - 全面支持SSL, TLS
13 0
|
12天前
|
网络协议 Python
python中socket编程
python中socket编程