• Python物联网开发-Python_Socket通信开发-Python与Tcp协议物联网设备通信-Socket客户端


    一、前言

            Python在物联网开发中的重要愈来愈重,因此,掌握Python语言与物联网设备之间的通信就显得尤为重要,可以通过编写Python程序实现获取物联网设备的传感器数值并可以更改物联网设备上的执行器状态。

    二、程序实现

            首先,当使用Python进行Socket通信时,需要导入Python的socket库。

    import socket

            创建一个socket对象,此处,我们使用TCP协议创建了一个客户端的socket对象。

    my_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)

            随后,规定要连接的设备(或Tcp服务器)的IP地址和端口。本代码将连接本机自身的Tcp服务器,以便于查看效果。

    server_ip_port = ('127.0.0.1', 8080)

            根据上述信息,向服务器端发起连接请求。

    my_socket.connect(server_ip_port)

            向服务器端发送消息或特定协议指令。

    1. message = 'This is Xixi_CaiNiao!'
    2. my_socket.send(message.encode())

            等待服务器端响应,接收来自服务器端的信息。(此处程序处于阻塞状态)

    response = my_socket.recv(1024)

            将接收到的信息打印出来。

    print(response.decode())

            程序结束,释放socket对象。

    my_socket.close()

    三、程序完整代码

    1. # 西西菜鸟 2023-7-13
    2. import socket
    3. my_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    4. server_ip_port = ('127.0.0.1', 8080)
    5. my_socket.connect(server_ip_port)
    6. message = 'This is Xixi_CaiNiao!'
    7. my_socket.send(message.encode())
    8. response = my_socket.recv(1024)
    9. print(response.decode())
    10. my_socket.close()

    四、效果演示

            打开网络调试助手,创建本地Tcp服务器。协议类型选择:TCP Server,IP与端口与源代码一致,'127.0.0.1'代表本地地址。

             运行程序,可以看到我们已经收到来自程序发送的字符串("This is Xixi_CaiNiao!")。

            此时,程序处于阻塞状态,等待服务端响应。此时,我们想客户端发送"OK"。

            此时,程序已经全部执行完成。

  • 相关阅读:
    SwiftUI 导航教程之如何实现没有 Navigation View的 SwiftUI 导航功能
    大语言模型的开发利器langchain
    计算机毕业设计springboot基于SpringBoot构建的高校疫情防控平台523g7源码+系统+程序+lw文档+部署
    【单片机毕业设计选题24020】-全自动鱼缸的设计与应用
    数据库选型
    分布式BASE理论
    linux crontab 定时任务详细
    springboot引入第三方jar包放到项目目录中,添加web.xml
    React之Hooks基础
    【图论】SPFA求负环
  • 原文地址:https://blog.csdn.net/qq_39724355/article/details/131711198