s = socket.socket(socket.AF_PACKET, socket.SOCK_RAW, socket.ntohs(3))
while True:
raw_data, addr = s.recvfrom(65535)
print(raw_data)
Это SSCCE, который я использую для получения данных из сырого сокета.
У меня есть несколько сомнений относительно этого:
(1) Как я узнаю если raw_data содержит <1, 1 или> 1 кадра?
Если он содержит ровно 1 кадр каждый раз, когда он возвращается, это не проблема.
Однако, если он содержит больше или меньше 1 кадра, тогда Мне нужно будет определить длину каждого кадра.
Если длина не указана, мне нужно как-то использовать CR C, чтобы узнать конец.
(2 ) Как я могу использовать CR C, чтобы узнать конец?
(3) Если CR C не предоставляется NI C, то как я узнаю конец?