에 16 비트 값을 Spliting. 난 그냥 실제로 일련 번호가 단순히 짧은 아니라고 발견이 계획을 고려 하지만, : 나는 값 258 (\ X02의 \의 X01)와 시퀀스 번호를 보낼 경우에 따라서이 질문은이 게시물에 관련된 12 + 4 파이썬 구조체
12 bits 4 bits
Sequence number Fragment number
을 실제로 것 있다;
나는 실제 시퀀스 번호가되도록 258을 가질 수 있으며,이 방법으로 분할하지 않을 수 있습니다. struct
으로 이것을 달성 할 수있는 간단한 방법이 있습니까?
UPDATE :
내가 이렇게되면 네트워크 패킷 생성기 짓고 있어요 : 내가했다 내 위의 질문에 무엇을 의미
나중에
class PacketHeader(Packet):
fields = OrderedDict([
("head", "\x00"),
("headpad", "\x00"),
("headlen", "\x1a\x00"),
("presentflag", "\x2e"),
("timestamp", "\x43\x10\x58\x16\xa1\x01\x00\x00"),
("flag", "\x03"),
("Sequencenum", "\x04\x00"),
###12 bits of this 'short' is Seq num, 4 bits left are if this is a fragment or not(if it is, its value will be =>1, and will then represent the frag number.)
])
, 나는 내 수업 전화 다음과 같이 패킷을 보내십시오.
send(PacketHeader(Sequencenum=257))
send(PacketHeader(Sequencenum=258))
send(PacketHeader(Sequencenum=259))
짧은 마커로 변환해야합니다. 마비 (이 경우에는 257을 말하게한다), 그 16 비트 단락의 프래그먼트 번호를 나타내는 4 비트를 처리한다. 항상 조각 번호를 0으로 설정하는 것을 선호하지만 Sequencenum이 올바르게 증가되도록하십시오.
미리 감사드립니다. 라인을 따라
그것은 전혀 분명 당신이 무엇을하지, 그리고 당신이 원하는. 제목에 "16 비트 값 나누기"라고 표시되어 있지만 텍스트에는 "나누지 않음"이라고 표시되어 있습니다. 당신은 명확히 할 수 있습니까? 조각 번호 : –
나는 당신이이 경우에, 예상 값을 가지고 짧은 분할 않는 방법을 알고 싶습니다 0 시퀀스 번호 : 513 희망이 도움 :) – user1473508
난 당신이 시퀀스 번호를 디코딩 있다고 생각 잘못된 엔디 언. – icktoofay