Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
N
new-socketemulator
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
李远洪
new-socketemulator
Commits
57a0c540
Commit
57a0c540
authored
Sep 24, 2020
by
liyuanhong
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
修改了不报数据导致连接断开的问题
parent
a6cf06dd
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
123 additions
and
111 deletions
+123
-111
lib/util/DelaySend.py
lib/util/DelaySend.py
+123
-111
No files found.
lib/util/DelaySend.py
View file @
57a0c540
...
@@ -90,121 +90,132 @@ class DelaySend():
...
@@ -90,121 +90,132 @@ class DelaySend():
##############################################################################
##############################################################################
def
getEventPkg
(
self
):
def
getEventPkg
(
self
):
with
open
(
self
.
baseUrl
+
self
.
din
+
"/event.txt"
,
"r"
,
encoding
=
"utf-8"
)
as
fi
:
if
os
.
path
.
exists
(
self
.
baseUrl
+
self
.
din
+
'/event.txt'
):
content
=
fi
.
readlines
()
with
open
(
self
.
baseUrl
+
self
.
din
+
"/event.txt"
,
"r"
,
encoding
=
"utf-8"
)
as
fi
:
pkg
=
""
content
=
fi
.
readlines
()
msgs
=
[]
pkg
=
""
pkgCounts
=
0
msgs
=
[]
for
i
in
content
:
pkgCounts
=
0
onePkg
=
i
[
21
:]
.
replace
(
"
\n
"
,
""
)
for
i
in
content
:
onePkg
=
onePkg
[
30
:][:
-
4
]
onePkg
=
i
[
21
:]
.
replace
(
"
\n
"
,
""
)
onePkg
=
onePkg
[
2
:]
onePkg
=
onePkg
[
30
:][:
-
4
]
pkg
=
pkg
+
onePkg
onePkg
=
onePkg
[
2
:]
pkgCounts
=
pkgCounts
+
1
pkg
=
pkg
+
onePkg
if
len
(
pkg
)
>
2000
:
pkgCounts
=
pkgCounts
+
1
pkgCounts
=
self
.
int2hexStringByBytes
(
pkgCounts
)
if
len
(
pkg
)
>
2000
:
HEADER
=
"4040"
pkgCounts
=
self
.
int2hexStringByBytes
(
pkgCounts
)
WATER_CODE
=
self
.
int2hexStringByBytes
(
1
,
2
)
HEADER
=
"4040"
DEV_ID
=
self
.
devid2hexString
(
self
.
din
)
WATER_CODE
=
self
.
int2hexStringByBytes
(
1
,
2
)
FUN_ID
=
"0021"
DEV_ID
=
self
.
devid2hexString
(
self
.
din
)
LENGTH
=
self
.
int2hexStringByBytes
(
int
(
len
(
WATER_CODE
+
DEV_ID
+
FUN_ID
+
pkgCounts
+
pkg
)
/
2
),
2
)
FUN_ID
=
"0021"
CHECK_CODE
=
self
.
crc16
(
HEADER
+
LENGTH
+
WATER_CODE
+
DEV_ID
+
FUN_ID
+
pkgCounts
+
pkg
)
LENGTH
=
self
.
int2hexStringByBytes
(
int
(
len
(
WATER_CODE
+
DEV_ID
+
FUN_ID
+
pkgCounts
+
pkg
)
/
2
),
2
)
msg
=
HEADER
+
LENGTH
+
WATER_CODE
+
DEV_ID
+
FUN_ID
+
pkgCounts
+
pkg
+
CHECK_CODE
CHECK_CODE
=
self
.
crc16
(
HEADER
+
LENGTH
+
WATER_CODE
+
DEV_ID
+
FUN_ID
+
pkgCounts
+
pkg
)
msgs
.
append
(
msg
)
msg
=
HEADER
+
LENGTH
+
WATER_CODE
+
DEV_ID
+
FUN_ID
+
pkgCounts
+
pkg
+
CHECK_CODE
pkg
=
""
msgs
.
append
(
msg
)
pkgCounts
=
0
pkg
=
""
pkgCounts
=
self
.
int2hexStringByBytes
(
pkgCounts
)
pkgCounts
=
0
HEADER
=
"4040"
pkgCounts
=
self
.
int2hexStringByBytes
(
pkgCounts
)
WATER_CODE
=
self
.
int2hexStringByBytes
(
1
,
2
)
HEADER
=
"4040"
DEV_ID
=
self
.
devid2hexString
(
self
.
din
)
WATER_CODE
=
self
.
int2hexStringByBytes
(
1
,
2
)
FUN_ID
=
"0021"
DEV_ID
=
self
.
devid2hexString
(
self
.
din
)
LENGTH
=
self
.
int2hexStringByBytes
(
int
(
len
(
WATER_CODE
+
DEV_ID
+
FUN_ID
+
pkgCounts
+
pkg
)
/
2
),
2
)
FUN_ID
=
"0021"
CHECK_CODE
=
self
.
crc16
(
HEADER
+
LENGTH
+
WATER_CODE
+
DEV_ID
+
FUN_ID
+
pkgCounts
+
pkg
)
LENGTH
=
self
.
int2hexStringByBytes
(
int
(
len
(
WATER_CODE
+
DEV_ID
+
FUN_ID
+
pkgCounts
+
pkg
)
/
2
),
2
)
msg
=
HEADER
+
LENGTH
+
WATER_CODE
+
DEV_ID
+
FUN_ID
+
pkgCounts
+
pkg
+
CHECK_CODE
CHECK_CODE
=
self
.
crc16
(
HEADER
+
LENGTH
+
WATER_CODE
+
DEV_ID
+
FUN_ID
+
pkgCounts
+
pkg
)
msgs
.
append
(
msg
)
msg
=
HEADER
+
LENGTH
+
WATER_CODE
+
DEV_ID
+
FUN_ID
+
pkgCounts
+
pkg
+
CHECK_CODE
msgs
.
append
(
msg
)
with
open
(
self
.
baseUrl
+
self
.
din
+
"/event_big.txt"
,
"w"
,
encoding
=
"utf-8"
)
as
fi2
:
for
txt
in
msgs
:
with
open
(
self
.
baseUrl
+
self
.
din
+
"/event_big.txt"
,
"w"
,
encoding
=
"utf-8"
)
as
fi2
:
fi2
.
write
(
txt
+
"
\n
"
)
for
txt
in
msgs
:
return
msgs
fi2
.
write
(
txt
+
"
\n
"
)
return
msgs
else
:
print
(
"event.txt is not exist"
)
return
[
"4040000b00034d1215010100010003f50b"
]
def
getGpsPkg
(
self
):
def
getGpsPkg
(
self
):
with
open
(
self
.
baseUrl
+
self
.
din
+
"/gps.txt"
,
"r"
,
encoding
=
"utf-8"
)
as
fi
:
if
os
.
path
.
exists
(
self
.
baseUrl
+
self
.
din
+
'/gps.txt'
):
content
=
fi
.
readlines
()
with
open
(
self
.
baseUrl
+
self
.
din
+
"/gps.txt"
,
"r"
,
encoding
=
"utf-8"
)
as
fi
:
pkg
=
""
content
=
fi
.
readlines
()
msgs
=
[]
pkg
=
""
pkgCounts
=
0
msgs
=
[]
for
i
in
content
:
pkgCounts
=
0
onePkg
=
i
[
21
:]
.
replace
(
"
\n
"
,
""
)
for
i
in
content
:
onePkg
=
onePkg
[
30
:][:
-
4
]
onePkg
=
i
[
21
:]
.
replace
(
"
\n
"
,
""
)
onePkg
=
onePkg
[
2
:]
onePkg
=
onePkg
[
30
:][:
-
4
]
pkg
=
pkg
+
onePkg
onePkg
=
onePkg
[
2
:]
pkgCounts
=
pkgCounts
+
1
pkg
=
pkg
+
onePkg
if
len
(
pkg
)
>
2000
:
pkgCounts
=
pkgCounts
+
1
pkgCounts
=
self
.
int2hexStringByBytes
(
pkgCounts
)
if
len
(
pkg
)
>
2000
:
HEADER
=
"4040"
pkgCounts
=
self
.
int2hexStringByBytes
(
pkgCounts
)
WATER_CODE
=
self
.
int2hexStringByBytes
(
1
,
2
)
HEADER
=
"4040"
DEV_ID
=
self
.
devid2hexString
(
self
.
din
)
WATER_CODE
=
self
.
int2hexStringByBytes
(
1
,
2
)
FUN_ID
=
"0010"
DEV_ID
=
self
.
devid2hexString
(
self
.
din
)
LENGTH
=
self
.
int2hexStringByBytes
(
int
(
len
(
WATER_CODE
+
DEV_ID
+
FUN_ID
+
pkgCounts
+
pkg
)
/
2
),
2
)
FUN_ID
=
"0010"
CHECK_CODE
=
self
.
crc16
(
HEADER
+
LENGTH
+
WATER_CODE
+
DEV_ID
+
FUN_ID
+
pkgCounts
+
pkg
)
LENGTH
=
self
.
int2hexStringByBytes
(
int
(
len
(
WATER_CODE
+
DEV_ID
+
FUN_ID
+
pkgCounts
+
pkg
)
/
2
),
2
)
msg
=
HEADER
+
LENGTH
+
WATER_CODE
+
DEV_ID
+
FUN_ID
+
pkgCounts
+
pkg
+
CHECK_CODE
CHECK_CODE
=
self
.
crc16
(
HEADER
+
LENGTH
+
WATER_CODE
+
DEV_ID
+
FUN_ID
+
pkgCounts
+
pkg
)
msgs
.
append
(
msg
)
msg
=
HEADER
+
LENGTH
+
WATER_CODE
+
DEV_ID
+
FUN_ID
+
pkgCounts
+
pkg
+
CHECK_CODE
pkg
=
""
msgs
.
append
(
msg
)
pkgCounts
=
0
pkg
=
""
pkgCounts
=
self
.
int2hexStringByBytes
(
pkgCounts
)
pkgCounts
=
0
HEADER
=
"4040"
pkgCounts
=
self
.
int2hexStringByBytes
(
pkgCounts
)
WATER_CODE
=
self
.
int2hexStringByBytes
(
1
,
2
)
HEADER
=
"4040"
DEV_ID
=
self
.
devid2hexString
(
self
.
din
)
WATER_CODE
=
self
.
int2hexStringByBytes
(
1
,
2
)
FUN_ID
=
"0010"
DEV_ID
=
self
.
devid2hexString
(
self
.
din
)
LENGTH
=
self
.
int2hexStringByBytes
(
int
(
len
(
WATER_CODE
+
DEV_ID
+
FUN_ID
+
pkgCounts
+
pkg
)
/
2
),
2
)
FUN_ID
=
"0010"
CHECK_CODE
=
self
.
crc16
(
HEADER
+
LENGTH
+
WATER_CODE
+
DEV_ID
+
FUN_ID
+
pkgCounts
+
pkg
)
LENGTH
=
self
.
int2hexStringByBytes
(
int
(
len
(
WATER_CODE
+
DEV_ID
+
FUN_ID
+
pkgCounts
+
pkg
)
/
2
),
2
)
msg
=
HEADER
+
LENGTH
+
WATER_CODE
+
DEV_ID
+
FUN_ID
+
pkgCounts
+
pkg
+
CHECK_CODE
CHECK_CODE
=
self
.
crc16
(
HEADER
+
LENGTH
+
WATER_CODE
+
DEV_ID
+
FUN_ID
+
pkgCounts
+
pkg
)
msgs
.
append
(
msg
)
msg
=
HEADER
+
LENGTH
+
WATER_CODE
+
DEV_ID
+
FUN_ID
+
pkgCounts
+
pkg
+
CHECK_CODE
msgs
.
append
(
msg
)
with
open
(
self
.
baseUrl
+
self
.
din
+
"/gps_big.txt"
,
"w"
,
encoding
=
"utf-8"
)
as
fi2
:
for
txt
in
msgs
:
with
open
(
self
.
baseUrl
+
self
.
din
+
"/gps_big.txt"
,
"w"
,
encoding
=
"utf-8"
)
as
fi2
:
fi2
.
write
(
txt
+
"
\n
"
)
for
txt
in
msgs
:
return
msgs
fi2
.
write
(
txt
+
"
\n
"
)
return
msgs
else
:
print
(
"gps.txt is not exist"
)
return
[
"4040000b00034d1215010100010003f50b"
]
def
getObdPkg
(
self
):
def
getObdPkg
(
self
):
with
open
(
self
.
baseUrl
+
self
.
din
+
"/obd.txt"
,
"r"
,
encoding
=
"utf-8"
)
as
fi
:
if
os
.
path
.
exists
(
self
.
baseUrl
+
self
.
din
+
'/obd.txt'
):
content
=
fi
.
readlines
()
with
open
(
self
.
baseUrl
+
self
.
din
+
"/obd.txt"
,
"r"
,
encoding
=
"utf-8"
)
as
fi
:
pkg
=
""
content
=
fi
.
readlines
()
msgs
=
[]
pkg
=
""
pkgCounts
=
0
msgs
=
[]
for
i
in
content
:
pkgCounts
=
0
onePkg
=
i
[
21
:]
.
replace
(
"
\n
"
,
""
)
for
i
in
content
:
onePkg
=
onePkg
[
30
:][:
-
4
]
onePkg
=
i
[
21
:]
.
replace
(
"
\n
"
,
""
)
onePkg
=
onePkg
[
2
:]
onePkg
=
onePkg
[
30
:][:
-
4
]
print
(
onePkg
)
onePkg
=
onePkg
[
2
:]
pkg
=
pkg
+
onePkg
pkg
=
pkg
+
onePkg
pkgCounts
=
pkgCounts
+
1
pkgCounts
=
pkgCounts
+
1
if
len
(
pkg
)
>
2000
:
if
len
(
pkg
)
>
2000
:
pkgCounts
=
self
.
int2hexStringByBytes
(
pkgCounts
)
pkgCounts
=
self
.
int2hexStringByBytes
(
pkgCounts
)
HEADER
=
"4040"
HEADER
=
"4040"
WATER_CODE
=
self
.
int2hexStringByBytes
(
1
,
2
)
WATER_CODE
=
self
.
int2hexStringByBytes
(
1
,
2
)
DEV_ID
=
self
.
devid2hexString
(
self
.
din
)
DEV_ID
=
self
.
devid2hexString
(
self
.
din
)
FUN_ID
=
"0012"
FUN_ID
=
"0012"
LENGTH
=
self
.
int2hexStringByBytes
(
int
(
len
(
WATER_CODE
+
DEV_ID
+
FUN_ID
+
pkgCounts
+
pkg
)
/
2
),
2
)
LENGTH
=
self
.
int2hexStringByBytes
(
int
(
len
(
WATER_CODE
+
DEV_ID
+
FUN_ID
+
pkgCounts
+
pkg
)
/
2
),
2
)
CHECK_CODE
=
self
.
crc16
(
HEADER
+
LENGTH
+
WATER_CODE
+
DEV_ID
+
FUN_ID
+
pkgCounts
+
pkg
)
CHECK_CODE
=
self
.
crc16
(
HEADER
+
LENGTH
+
WATER_CODE
+
DEV_ID
+
FUN_ID
+
pkgCounts
+
pkg
)
msg
=
HEADER
+
LENGTH
+
WATER_CODE
+
DEV_ID
+
FUN_ID
+
pkgCounts
+
pkg
+
CHECK_CODE
msg
=
HEADER
+
LENGTH
+
WATER_CODE
+
DEV_ID
+
FUN_ID
+
pkgCounts
+
pkg
+
CHECK_CODE
msgs
.
append
(
msg
)
msgs
.
append
(
msg
)
pkg
=
""
pkg
=
""
pkgCounts
=
0
pkgCounts
=
0
pkgCounts
=
self
.
int2hexStringByBytes
(
pkgCounts
)
pkgCounts
=
self
.
int2hexStringByBytes
(
pkgCounts
)
HEADER
=
"4040"
HEADER
=
"4040"
WATER_CODE
=
self
.
int2hexStringByBytes
(
1
,
2
)
WATER_CODE
=
self
.
int2hexStringByBytes
(
1
,
2
)
DEV_ID
=
self
.
devid2hexString
(
self
.
din
)
DEV_ID
=
self
.
devid2hexString
(
self
.
din
)
FUN_ID
=
"0012"
FUN_ID
=
"0012"
LENGTH
=
self
.
int2hexStringByBytes
(
int
(
len
(
WATER_CODE
+
DEV_ID
+
FUN_ID
+
pkgCounts
+
pkg
)
/
2
),
2
)
LENGTH
=
self
.
int2hexStringByBytes
(
int
(
len
(
WATER_CODE
+
DEV_ID
+
FUN_ID
+
pkgCounts
+
pkg
)
/
2
),
2
)
CHECK_CODE
=
self
.
crc16
(
HEADER
+
LENGTH
+
WATER_CODE
+
DEV_ID
+
FUN_ID
+
pkgCounts
+
pkg
)
CHECK_CODE
=
self
.
crc16
(
HEADER
+
LENGTH
+
WATER_CODE
+
DEV_ID
+
FUN_ID
+
pkgCounts
+
pkg
)
msg
=
HEADER
+
LENGTH
+
WATER_CODE
+
DEV_ID
+
FUN_ID
+
pkgCounts
+
pkg
+
CHECK_CODE
msg
=
HEADER
+
LENGTH
+
WATER_CODE
+
DEV_ID
+
FUN_ID
+
pkgCounts
+
pkg
+
CHECK_CODE
msgs
.
append
(
msg
)
msgs
.
append
(
msg
)
with
open
(
self
.
baseUrl
+
self
.
din
+
"/obd_big.txt"
,
"w"
,
encoding
=
"utf-8"
)
as
fi2
:
with
open
(
self
.
baseUrl
+
self
.
din
+
"/obd_big.txt"
,
"w"
,
encoding
=
"utf-8"
)
as
fi2
:
for
txt
in
msgs
:
for
txt
in
msgs
:
fi2
.
write
(
txt
+
"
\n
"
)
fi2
.
write
(
txt
+
"
\n
"
)
return
msgs
return
msgs
else
:
print
(
"obd.txt is not exist"
)
return
[
"4040000b00034d1215010100010003f50b"
]
def
getLenOfFile
(
self
):
def
getLenOfFile
(
self
):
with
open
(
self
.
baseUrl
+
"event_big.txt"
,
"r"
,
encoding
=
"utf-8"
)
as
fi
:
with
open
(
self
.
baseUrl
+
"event_big.txt"
,
"r"
,
encoding
=
"utf-8"
)
as
fi
:
...
@@ -215,6 +226,7 @@ class DelaySend():
...
@@ -215,6 +226,7 @@ class DelaySend():
for
msg
in
msgs
:
for
msg
in
msgs
:
msg
=
msg
.
replace
(
"
\n
"
,
""
)
msg
=
msg
.
replace
(
"
\n
"
,
""
)
self
.
service
.
serviceSendMsg
(
msg
,
"0"
)
self
.
service
.
serviceSendMsg
(
msg
,
"0"
)
time
.
sleep
(
0.05
)
def
sendDelayMsgs
(
self
):
def
sendDelayMsgs
(
self
):
time
.
sleep
(
0.1
)
time
.
sleep
(
0.1
)
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment