Toggle navigation
Toggle navigation
This project
Loading...
Sign in
2020-2-capstone-design2
/
2015102747
Go to a project
Toggle navigation
Toggle navigation pinning
Projects
Groups
Snippets
Help
Project
Activity
Repository
Pipelines
Graphs
Issues
0
Merge Requests
0
Wiki
Snippets
Network
Create a new issue
Builds
Commits
Issue Boards
Authored by
이재빈
2020-11-03 13:34:49 +0900
Browse Files
Options
Browse Files
Download
Email Patches
Plain Diff
Commit
62059419c74f55135409910e84e4ad165abe03da
62059419
1 parent
6063484f
송신모듈 추가
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
37 additions
and
10 deletions
Modules/core_cloud.py
Modules/core_cloud.py
View file @
6205941
...
...
@@ -2,8 +2,10 @@ import socket
import
cv2
import
numpy
as
np
from
multiprocessing
import
Queue
from
labeling_module
import
LabelingModule
from
queue
import
Queue
from
_thread
import
*
from
labeling_module
import
LabelingModule
as
lm
enclose_q
=
Queue
()
#socket에서 수신한 버퍼를 반환
def
recvall
(
sock
,
count
):
# 바이트 문자열
...
...
@@ -14,34 +16,59 @@ def recvall(sock, count):
buf
+=
newbuf
count
-=
len
(
newbuf
)
return
buf
def
send_threaded
(
Client_socket
,
addr
,
queue
):
print
(
"Connected by : "
,
addr
[
0
],
" : "
,
addr
[
1
])
while
True
:
try
:
data
=
Client_socket
.
recv
(
1024
)
if
not
data
:
print
(
"Disconnected"
)
break
StringData
=
queue
.
get
()
Client_socket
.
send
(
str
(
len
(
StringData
))
.
ljust
(
16
)
.
encode
())
Client_socket
.
send
(
StringData
)
except
ConnectionResetError
as
e
:
print
(
"Disconnected"
)
Client_socket
.
close
()
if
__name__
==
"__main__"
:
lm
.
predict_process
.
start
()
HOST
=
'127.0.0.1'
PORT
=
9999
RECV_
HOST
=
'127.0.0.1'
RECV_PORT
=
9999
#RECV PORT
#TCP 사용
s
=
socket
.
socket
(
socket
.
AF_INET
,
socket
.
SOCK_STREAM
)
print
(
'Socket created'
)
#CoreCloud IP, PortNumber set
s
.
bind
((
HOST
,
PORT
))
s
.
bind
((
RECV_HOST
,
RECV_
PORT
))
print
(
'Socket bind complete'
)
# Edge Cloud 접속wait (클라이언트 연결을 10개까지 받
는다
)
# Edge Cloud 접속wait (클라이언트 연결을 10개까지 받
음
)
s
.
listen
(
10
)
print
(
'Socket now listening'
)
#연결, conn 소켓 객체, addr socket binded addr
conn
,
addr
=
s
.
accept
()
SEND_HOST
=
'127.0.0.1'
SEND_PORT
=
9998
#SEND PORT
server_socket
=
socket
.
socket
(
socket
.
AF_INET
,
socket
.
SOCK_STREAM
)
server_socket
.
setsockopt
(
socket
.
SOL_SOCKET
,
socket
.
SO_REUSEADDR
,
1
)
server_socket
.
bind
((
SEND_HOST
,
SEND_PORT
))
server_socket
.
listen
()
while
True
:
# client에서 받은 stringData length (==(str(len(stringData))).encode().ljust(16))
length
=
recvall
(
conn
,
16
)
stringData
=
recvall
(
conn
,
int
(
length
))
data
=
np
.
fromstring
(
stringData
,
dtype
=
'uint8'
)
#data decode
cropped
=
cv2
.
imdecode
(
data
,
cv2
.
IMREAD_COLOR
)
cropped
=
cv2
.
resize
(
cropped
,
(
48
,
48
))
#Crop Image Resize
lm
.
new_tensor
(
cropped
)
# Predict result
lm
.
predict_process
.
join
()
# thread join
\ No newline at end of file
result
=
lm
.
new_tensor
(
cropped
)
# Predict result
lm
.
predict_process
.
join
()
# thread join
edge_socket
,
addr
=
server_socket
.
accept
()
enclose_q
.
put
(
result
)
start_new_thread
(
send_threaded
,
(
edge_socket
,
addr
,
enclose_q
,))
if
(
conn
):
#연결 끊어질 경우 loop 탈출
break
\ No newline at end of file
...
...
Please
register
or
login
to post a comment