Byte 배열 형태의 정보를 보내고, 받을 때 접근 방식   

 

1) Network에서 16byte의 날짜 정보가 2byte 단위의 Byte Array로 전달되었을 때 받아들이기 

    dateData = client_socket.recv(16)

    wYear           = int.from_bytes(dateData[0:2], byteorder='little')
    wMonth          = int.from_bytes(dateData[2:4], byteorder='little')
    wDayOfWeek      = int.from_bytes(dateData[4:6], byteorder='little')
    wDay            = int.from_bytes(dateData[6:8], byteorder='little')
    wHour           = int.from_bytes(dateData[8:10], byteorder='little')
    wMinute         = int.from_bytes(dateData[10:12], byteorder='little')
    wSecond         = int.from_bytes(dateData[12:14], byteorder='little')
    wMilliseconds   = int.from_bytes(dateData[14:16], byteorder='little')

 

2) 시간 정보를 2byte단위로 잘라 byte Array에 담아 전송할 때.(수신 측의 Byte order는 Little이다.)

    current_time = datetime.now()

    sendData =int.to_bytes(current_time.year,           2, byteorder='little')
    sendData+=int.to_bytes(current_time.month,          2, byteorder='little')
    sendData+=int.to_bytes(current_time.weekday(),      2, byteorder='little')
    sendData+=int.to_bytes(current_time.day,            2, byteorder='little')
    sendData+=int.to_bytes(current_time.hour,           2, byteorder='little')
    sendData+=int.to_bytes(current_time.minute,         2, byteorder='little')
    sendData+=int.to_bytes(current_time.second,         2, byteorder='little')
    sendData+=int.to_bytes(int(current_time.microsecond/1000),   2, byteorder='little')

'작업 > Python' 카테고리의 다른 글

Python "exe" 실행 파일 만들기  (3) 2021.07.22
Python - 기본 문법 예제 (1)  (0) 2021.07.20
Visual Studio Python & Tensorflow 설치  (4) 2021.07.12

+ Recent posts