Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从UDP套接字接收后缺少Python字节_Python_Sockets_Udp - Fatal编程技术网

从UDP套接字接收后缺少Python字节

从UDP套接字接收后缺少Python字节,python,sockets,udp,Python,Sockets,Udp,我收到的字节应该是43字节,但我从客户端收到的是 收到消息“b”\x0f\x00\x00\x00NR09G05164\x00“”? 只有15个字节。为什么? 下面是原始字节43字节 00 00 01 00 06 ec 44 76 a6 21 c2 00 08 00 45 00 00 2b 08 43 00 34 11 81 2b cb 52 50分贝 67 0d 7a 19 24 2d 1a f7 00 17 83 26 0f 00 4e 52 30 39 47 30 35 31 36 34 0

我收到的字节应该是43字节,但我从客户端收到的是

收到消息“b”\x0f\x00\x00\x00NR09G05164\x00“”? 只有15个字节。为什么?

下面是原始字节43字节

00 00 01 00 06 ec 44 76 a6 21 c2 00 08 00
45 00 00 2b 08 43 00 34 11 81 2b cb 52 50分贝
67 0d 7a 19 24 2d 1a f7 00 17 83 26 0f 00

4e 52 30 39 47 30 35 31 36 34 00

可能缺少的字节不会通过
打印显示出来
?检查
len(数据)
value


您不能通过UDP接收不完整的数据包,它将向您发送完整的数据报,或者根本不发送任何数据报。

已检查的Len(数据)仅为15字节您是否负责服务器端?你能出示负责发送的代码吗?(顺便说一句,UDP连接较少,因此您的
if not data
块没有意义。)实际上,如果not data不会发生,问题是我无法接收完整的数据包>“为什么您要在
try
块中放置简单的变量赋值?
import socket
import sys
import datetime
import os

try:
    username = "root"
    password = "Apacheah64"
    db_name = "DB_GPS"
    table_name = "Tbl_GPS"
    host = ""
    port = 6903
    buf = 4096

except IndexError:

    sys.exit(1)

s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
s.bind((host, port))

while 1:
    data = s.recv(buf)
    if not data:
        print("Client has exited!")
        break
    else:
        print("\nReceived message '", data,"'")

# Close socket
s.close()