PY在接收网络数据中,如何接收到的数据和发送的一致?小白学习中,求大神指导

import struct
import time
import socket
import binascii


def main():
    # 组播地址及端口号
    group_ip = '239.2.2.2'
    group_port = 12346

    # 创建套接字
    group_udp_sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM, socket.IPPROTO_UDP)

    # 获取本地IP地址
    local_ip = socket.gethostbyname(socket.gethostname())

    # 绑定端口
    group_udp_sock.bind((local_ip, group_port))

    # 添加到组播
    mreq = struct.pack('4sl', socket.inet_aton(group_ip), socket.INADDR_ANY)
    group_udp_sock.setsockopt(socket.IPPROTO_IP, socket.IP_ADD_MEMBERSHIP, mreq)
    # 设置TTL值,组播在三层交换机通讯过程中每经过一次转发TTL值减1,等于0时数据则不在转发
    # group_udp_sock.setsockopt(socket.IPPROTO_IP, socket.IP_MULTICAST_TTL, 5)

    # 设置数据接收取缓存大小
    group_udp_sock.setsockopt(socket.SOL_SOCKET, socket.SO_RCVBUF, 8192)

    while True:
        try:
            data, addr = group_udp_sock.recvfrom(1024)
            data1 = binascii.hexlify(data)
            print(
                f'{time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())},  接收地址:{addr} 接收消息:{data1}'
            )
            print(len(data))
        except:
            print('接收消息错误')


if __name__ == '__main__':
    main()

在模拟中发送的数据十六进制:33 33 33 33 33 33 03 00

代码中接收显示:接收消息:3333333333330300

就是收显示时候如何字节中间也有空格

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在Django,我们可以通过以下步骤接收前端发送的POST数据并保存在不同表: 1. 首先,在views.py文件定义一个处理该POST请的视图函数。可以使用Django提供的装饰器`@csrf_exempt`来取消跨站请伪造防护。示例代码如下: ```python from django.views.decorators.csrf import csrf_exempt from django.http import JsonResponse @csrf_exempt def save_data(request): if request.method == 'POST': # 接收前端发送的POST数据 data = request.POST # 保存数据到不同的表 # 在这里执行相应的数据保存操作,例如使用ORM进行数据库操作 # 返回一个包含成功状态的JSON响应 return JsonResponse({'status': 'success'}) ``` 2. 将该视图函数与一个URL路径进行绑定,以便能够通过该路径访问该视图函数。在urls.py文件添加相应的URL配置,如下所示: ```python from django.urls import path from .views import save_data urlpatterns = [ path('save-data/', save_data, name='save_data'), ] ``` 3. 在前端,你可以使用AJAX技术发送POST请到上述URL路径,并将表单数据作为POST数据发送。以下是一个使用jQuery的示例代码: ```javascript $.ajax({ url: '/save-data/', type: 'POST', data: { // 在这里传递需要保存的数据 // 可以根据表结构传递相应的字段和值 }, success: function(response) { // 处理服务器返回的响应 // 例如显示成功消息或重定向到其他页面 } }); ``` 通过以上步骤,你就可以在Django接收前端发送的POST数据并将其保存到不同的表了。请确保在保存数据时使用适当的模型(Model)和数据库操作(ORM)来执行相应的保存操作。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值