이재빈

Core Cloud 수신모듈 작성

...@@ -4,7 +4,7 @@ import numpy as np ...@@ -4,7 +4,7 @@ import numpy as np
4 from multiprocessing import Queue 4 from multiprocessing import Queue
5 5
6 from labeling_module import LabelingModule 6 from labeling_module import LabelingModule
7 -#socket에서 수신한 버퍼를 반환함. 7 +#socket에서 수신한 버퍼를 반환
8 def recvall(sock, count): 8 def recvall(sock, count):
9 # 바이트 문자열 9 # 바이트 문자열
10 buf = b'' 10 buf = b''
...@@ -25,22 +25,22 @@ if __name__ == "__main__": ...@@ -25,22 +25,22 @@ if __name__ == "__main__":
25 s=socket.socket(socket.AF_INET,socket.SOCK_STREAM) 25 s=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
26 print('Socket created') 26 print('Socket created')
27 27
28 - #서버의 아이피와 포트번호 지정 28 + #CoreCloud IP, PortNumber set
29 s.bind((HOST,PORT)) 29 s.bind((HOST,PORT))
30 print('Socket bind complete') 30 print('Socket bind complete')
31 - # 클라이언트의 접속을 기다린다. (클라이언트 연결을 10개까지 받는다) 31 + # Edge Cloud 접속wait (클라이언트 연결을 10개까지 받는다)
32 s.listen(10) 32 s.listen(10)
33 print('Socket now listening') 33 print('Socket now listening')
34 34
35 - #연결, conn에는 소켓 객체, addr은 소켓에 바인드 된 주소 35 + #연결, conn 소켓 객체, addr socket binded addr
36 conn,addr=s.accept() 36 conn,addr=s.accept()
37 while True: 37 while True:
38 - # client에서 받은 stringData의 크기 (==(str(len(stringData))).encode().ljust(16)) 38 + # client에서 받은 stringData length (==(str(len(stringData))).encode().ljust(16))
39 length = recvall(conn, 16) 39 length = recvall(conn, 16)
40 stringData = recvall(conn, int(length)) 40 stringData = recvall(conn, int(length))
41 data = np.fromstring(stringData, dtype = 'uint8') 41 data = np.fromstring(stringData, dtype = 'uint8')
42 42
43 - #data를 디코딩한다. 43 + #data decode
44 cropped = cv2.imdecode(data, cv2.IMREAD_COLOR) 44 cropped = cv2.imdecode(data, cv2.IMREAD_COLOR)
45 cropped = cv2.resize(cropped, (48,48)) #Crop Image Resize 45 cropped = cv2.resize(cropped, (48,48)) #Crop Image Resize
46 lm.new_tensor(cropped) # Predict result 46 lm.new_tensor(cropped) # Predict result
......