1
import socketserver
import struct
from collections import namedtuple
class MyUDPHandler(socketserver.BaseRequestHandler):
def handle(self):
data = self.request[0].strip()
socket = self.request[1]
if len(data) >= 34:
format_ = "6shhih50s2s"
MyStruct = namedtuple("MyStruct", "sMark nPackLen nFlag nGisIp nPort sData sEnd")
tuple_to_send = MyStruct(sMark="\r\n{}".format("*KW").encode("ascii"),
nPackLen=struct.calcsize(format_),
nFlag=0x0002,
nGisIp=0,
nPort=0,
sData= "*KW,AA05954122,015,080756,#".encode("ascii"),
sEnd="\r\n".encode("ascii"))
string_to_send = struct.pack(format_, *tuple_to_send._asdict().values())
socket.sendto(string_to_send, self.client_address)
print('waiting Reply Bytes String from client..') //how to get the reply bytes string from Client side?
if __name__ == "__main__":
HOST, PORT = "", 6903
server = socketserver.UDPServer((HOST, PORT), MyUDPHandler)
server.serve_forever()
1 단계 : 서버는 GPS 장치 바이트를받을 string.and 동적 IP 주소를 얻을 것이다
2 단계 : 서버가 얻을 수 있습니다 클라이언트 동적 IP는 이미 서버가 클라이언트 측 (GPS 장치)에 명령을 보냅니다.
3 단계 : 클라이언트 측에서 바이트 문자열을 되돌려 보내 겠지만 여기에 회신 바이트 문자열을 캡처하는 방법을 알지 못합니다. 서버가 보낸 사람의 IP 주소와 포트에 응답하면파이썬 : UDP 소켓 어떻게 대기 클라이언트 측에 회신 바이트 문자열