-
Notifications
You must be signed in to change notification settings - Fork 0
/
for client.py
47 lines (46 loc) · 1.32 KB
/
for client.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
# IN COMPUTER
# This will be client
import socket
import sys
import cv2
import pickle
import numpy as np
import struct
import requests,json
import time
import threading
# set post server host
PORT = 8082
HOST = '1.171.166.238'
# show the stream
def streaming():
try:
# create client server connect
clientsocket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
clientsocket.connect((HOST, PORT))
data = b''
# data = L + len(data) + data
payload_size = struct.calcsize("L")
print("connect sucess")
while True:
# len(data)
while len(data) < payload_size:
data += clientsocket.recv(4096)
packed_msg_size = data[:payload_size]
data = data[payload_size:]
msg_size = struct.unpack("L", packed_msg_size)[0]
# data
while len(data) < msg_size:
data += clientsocket.recv(4096)
frame_data = data[:msg_size]
data = data[msg_size:]
frame=pickle.loads(frame_data)
#show
cv2.imshow('frame', frame)
cv2.waitKey(10)
except:
print('waiting for stream start...')
time.sleep(5)
streaming()
if __name__=="__main__":
streaming()