Commit cd7304ae by BANice

bintohex的协议对粘包进行处理,当缓存区中的数据长度大于等于第一个头中的length字段,返回lenght字段,小于则继续接受

parent 1ed38de1
...@@ -5,6 +5,12 @@ GATEWAY_COUNT=1 ...@@ -5,6 +5,12 @@ GATEWAY_COUNT=1
GATEWAY_NAME=cdz GATEWAY_NAME=cdz
REGISTER_PORT=1239 REGISTER_PORT=1239
REGISTER_IP=127.0.0.1 REGISTER_IP=127.0.0.1
#REGISTER_IP=cdzregister.default.svc.cluster.local
REDIS_HOST=127.0.0.1 REDIS_HOST=127.0.0.1
REDIS_PORT=6379 REDIS_PORT=6379
START_FILES=start_businessworker START_FILES=start_businessworker
DB_USE=cdz
DB_NAME=cdzpay
DB_HOST=127.0.0.1
DB_PORT=6379
DB_PASSWORD=senthink123
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="PublishConfigData" serverName="cdz">
<serverData>
<paths name="cdz">
<serverdata>
<mappings>
<mapping deploy="/cdzbusiness" local="$PROJECT_DIR$" web="/" />
</mappings>
</serverdata>
</paths>
</serverData>
</component>
</project>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="WebServers">
<option name="servers">
<webServer id="2c45e911-5d40-4ae3-a0f2-38159dc8dcb3" name="cdz" url="http://hub.senthink.com">
<fileTransfer anonymous="true" host="hub.senthink.com" port="21">
<advancedOptions>
<advancedOptions compatibilityMode="true" dataProtectionLevel="Private" passiveMode="true" />
</advancedOptions>
<option name="port" value="21" />
</fileTransfer>
</webServer>
</option>
</component>
</project>
\ No newline at end of file
...@@ -2,24 +2,17 @@ ...@@ -2,24 +2,17 @@
<project version="4"> <project version="4">
<component name="ChangeListManager"> <component name="ChangeListManager">
<list default="true" id="00edf348-0453-4317-8d2b-bf5eb8ea4b7a" name="Default" comment=""> <list default="true" id="00edf348-0453-4317-8d2b-bf5eb8ea4b7a" name="Default" comment="">
<change afterPath="$PROJECT_DIR$/.idea/vcs.xml" afterDir="false" /> <change afterPath="$PROJECT_DIR$/Application/Model.php" afterDir="false" />
<change afterPath="$PROJECT_DIR$/Application/Controller/AccessController.php" afterDir="false" /> <change afterPath="$PROJECT_DIR$/Application/Model/GatewayModel.php" afterDir="false" />
<change afterPath="$PROJECT_DIR$/Lib/redis/RedisKey.php" afterDir="false" />
<change beforePath="$PROJECT_DIR$/.env" beforeDir="false" afterPath="$PROJECT_DIR$/.env" afterDir="false" /> <change beforePath="$PROJECT_DIR$/.env" beforeDir="false" afterPath="$PROJECT_DIR$/.env" afterDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/cdzGateway.iml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/cdzGateway.iml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/inspectionProfiles/profiles_settings.xml" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/php.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/php.xml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" /> <change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/Application/Controller.php" beforeDir="false" afterPath="$PROJECT_DIR$/Application/Controller.php" afterDir="false" /> <change beforePath="$PROJECT_DIR$/Application/Controller.php" beforeDir="false" afterPath="$PROJECT_DIR$/Application/Controller.php" afterDir="false" />
<change beforePath="$PROJECT_DIR$/Application/Controller/CertifyController.php" beforeDir="false" afterPath="$PROJECT_DIR$/Application/Controller/CertifyController.php" afterDir="false" /> <change beforePath="$PROJECT_DIR$/Application/Controller/AccessController.php" beforeDir="false" afterPath="$PROJECT_DIR$/Application/Controller/AccessController.php" afterDir="false" />
<change beforePath="$PROJECT_DIR$/Application/Events.php" beforeDir="false" afterPath="$PROJECT_DIR$/Application/Events.php" afterDir="false" /> <change beforePath="$PROJECT_DIR$/Application/Events.php" beforeDir="false" afterPath="$PROJECT_DIR$/Application/Events.php" afterDir="false" />
<change beforePath="$PROJECT_DIR$/Application/start_businessworker.php" beforeDir="false" afterPath="$PROJECT_DIR$/Application/start_businessworker.php" afterDir="false" /> <change beforePath="$PROJECT_DIR$/Lib/redis/RedisKey.php" beforeDir="false" afterPath="$PROJECT_DIR$/Lib/redis/RedisKey.php" afterDir="false" />
<change beforePath="$PROJECT_DIR$/Application/start_gateway.php" beforeDir="false" afterPath="$PROJECT_DIR$/Application/start_gateway.php" afterDir="false" />
<change beforePath="$PROJECT_DIR$/Application/start_register.php" beforeDir="false" afterPath="$PROJECT_DIR$/Application/start_register.php" afterDir="false" />
<change beforePath="$PROJECT_DIR$/Lib/Env.php" beforeDir="false" afterPath="$PROJECT_DIR$/Lib/Env.php" afterDir="false" />
<change beforePath="$PROJECT_DIR$/Lib/Response.php" beforeDir="false" afterPath="$PROJECT_DIR$/Lib/Response.php" afterDir="false" />
<change beforePath="$PROJECT_DIR$/Route/Api.php" beforeDir="false" afterPath="$PROJECT_DIR$/Route/Api.php" afterDir="false" /> <change beforePath="$PROJECT_DIR$/Route/Api.php" beforeDir="false" afterPath="$PROJECT_DIR$/Route/Api.php" afterDir="false" />
<change beforePath="$PROJECT_DIR$/start.php" beforeDir="false" afterPath="$PROJECT_DIR$/start.php" afterDir="false" /> <change beforePath="$PROJECT_DIR$/vendor/workerman/workerman.log" beforeDir="false" afterPath="$PROJECT_DIR$/vendor/workerman/workerman.log" afterDir="false" />
<change beforePath="$PROJECT_DIR$/vendor/workerman/workerman/Protocols/Bintohex.php" beforeDir="false" afterPath="$PROJECT_DIR$/vendor/workerman/workerman/Protocols/Bintohex.php" afterDir="false" />
</list> </list>
<option name="EXCLUDED_CONVERTED_TO_IGNORED" value="true" /> <option name="EXCLUDED_CONVERTED_TO_IGNORED" value="true" />
<option name="TRACKING_ENABLED" value="true" /> <option name="TRACKING_ENABLED" value="true" />
...@@ -33,98 +26,101 @@ ...@@ -33,98 +26,101 @@
</component> </component>
<component name="FileEditorManager"> <component name="FileEditorManager">
<leaf SIDE_TABS_SIZE_LIMIT_KEY="300"> <leaf SIDE_TABS_SIZE_LIMIT_KEY="300">
<file leaf-file-name="start.php" pinned="false" current-in-tab="true"> <file leaf-file-name=".env" pinned="false" current-in-tab="true">
<entry file="file://$PROJECT_DIR$/start.php"> <entry file="file://$PROJECT_DIR$/.env">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="427"> <state relative-caret-position="165">
<caret line="66" column="4" selection-start-line="66" selection-start-column="4" selection-end-line="66" selection-end-column="4" /> <caret line="11" column="10" lean-forward="true" selection-start-line="11" selection-start-column="10" selection-end-line="11" selection-end-column="10" />
</state> </state>
</provider> </provider>
</entry> </entry>
</file> </file>
<file leaf-file-name=".env" pinned="false" current-in-tab="false"> <file leaf-file-name="composer.json" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/.env"> <entry file="file://$PROJECT_DIR$/composer.json">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="135"> <state relative-caret-position="195">
<caret line="9" column="20" selection-start-line="9" selection-start-column="20" selection-end-line="9" selection-end-column="20" /> <caret line="13" selection-start-line="13" selection-end-line="13" />
</state> </state>
</provider> </provider>
</entry> </entry>
</file> </file>
<file leaf-file-name="CertifyController.php" pinned="false" current-in-tab="false"> <file leaf-file-name="Events.php" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/Application/Controller/CertifyController.php"> <entry file="file://$PROJECT_DIR$/Application/Events.php">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="382"> <state relative-caret-position="395">
<caret line="39" lean-forward="true" selection-start-line="39" selection-end-line="39" /> <caret line="49" column="8" selection-start-line="49" selection-start-column="8" selection-end-line="49" selection-end-column="8" />
<folding> <folding>
<element signature="e#130#157#0#PHP" expanded="true" /> <element signature="e#94#106#0#PHP" expanded="true" />
</folding> </folding>
</state> </state>
</provider> </provider>
</entry> </entry>
</file> </file>
<file leaf-file-name="Controller.php" pinned="false" current-in-tab="false"> <file leaf-file-name="Model.php" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/Application/Controller.php"> <entry file="file://$PROJECT_DIR$/Application/Model.php">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="-2153"> <state relative-caret-position="57">
<caret line="128" lean-forward="true" selection-start-line="128" selection-end-line="128" /> <caret line="14" column="24" lean-forward="true" selection-start-line="14" selection-start-column="24" selection-end-line="14" selection-end-column="24" />
<folding>
<element signature="e#6#93#0#PHP" expanded="true" />
</folding>
</state> </state>
</provider> </provider>
</entry> </entry>
</file> </file>
<file leaf-file-name="Response.php" pinned="false" current-in-tab="false"> <file leaf-file-name="GatewayModel.php" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/Lib/Response.php"> <entry file="file://$PROJECT_DIR$/Application/Model/GatewayModel.php">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="1275"> <state relative-caret-position="195">
<caret line="91" column="21" lean-forward="true" selection-start-line="91" selection-start-column="21" selection-end-line="91" selection-end-column="21" /> <caret line="18" lean-forward="true" selection-start-line="18" selection-end-line="18" />
</state> </state>
</provider> </provider>
</entry> </entry>
</file> </file>
<file leaf-file-name="Env.php" pinned="false" current-in-tab="false"> <file leaf-file-name="Api.php" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/Lib/Env.php"> <entry file="file://$PROJECT_DIR$/Route/Api.php">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="262"> <state relative-caret-position="315">
<caret line="82" column="26" lean-forward="true" selection-start-line="82" selection-start-column="26" selection-end-line="82" selection-end-column="26" /> <caret line="26" selection-start-line="26" selection-end-line="26" />
</state> </state>
</provider> </provider>
</entry> </entry>
</file> </file>
<file leaf-file-name="AccessController.php" pinned="false" current-in-tab="false"> <file leaf-file-name="Bintohex.php" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/Application/Controller/AccessController.php"> <entry file="file://$PROJECT_DIR$/vendor/workerman/workerman/Protocols/Bintohex.php">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="375"> <state relative-caret-position="330">
<caret line="30" column="9" selection-start-line="30" selection-start-column="9" selection-end-line="30" selection-end-column="9" /> <caret line="27" column="29" selection-start-line="27" selection-start-column="29" selection-end-line="27" selection-end-column="29" />
<folding>
<element signature="e#126#153#0#PHP" expanded="true" />
</folding>
</state> </state>
</provider> </provider>
</entry> </entry>
</file> </file>
<file leaf-file-name="RedisKey.php" pinned="false" current-in-tab="false"> <file leaf-file-name="TcpConnection.php" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/Lib/redis/RedisKey.php"> <entry file="file://$PROJECT_DIR$/vendor/workerman/workerman/Connection/TcpConnection.php">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="150"> <state relative-caret-position="-11351">
<caret line="15" selection-start-line="15" selection-end-line="15" /> <caret line="22" column="6" selection-start-line="22" selection-start-column="6" selection-end-line="22" selection-end-column="6" />
</state> </state>
</provider> </provider>
</entry> </entry>
</file> </file>
<file leaf-file-name="Api.php" pinned="false" current-in-tab="false"> <file leaf-file-name="AccessController.php" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/Route/Api.php"> <entry file="file://$PROJECT_DIR$/Application/Controller/AccessController.php">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="300"> <state relative-caret-position="230">
<caret line="25" selection-start-line="25" selection-end-line="25" /> <caret line="48" column="27" selection-start-line="48" selection-start-column="27" selection-end-line="48" selection-end-column="27" />
<folding>
<element signature="e#126#153#0#PHP" expanded="true" />
</folding>
</state> </state>
</provider> </provider>
</entry> </entry>
</file> </file>
<file leaf-file-name="Bintohex.php" pinned="false" current-in-tab="false"> <file leaf-file-name="Controller.php" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/vendor/workerman/workerman/Protocols/Bintohex.php"> <entry file="file://$PROJECT_DIR$/Application/Controller.php">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="-668"> <state relative-caret-position="350">
<caret line="8" column="29" selection-start-line="8" selection-start-column="29" selection-end-line="8" selection-end-column="29" /> <caret line="316" column="20" selection-start-line="316" selection-start-column="20" selection-end-line="316" selection-end-column="20" />
</state> </state>
</provider> </provider>
</entry> </entry>
...@@ -158,16 +154,19 @@ ...@@ -158,16 +154,19 @@
<option value="$PROJECT_DIR$/Application/start_register.php" /> <option value="$PROJECT_DIR$/Application/start_register.php" />
<option value="$PROJECT_DIR$/Application/start_businessworker.php" /> <option value="$PROJECT_DIR$/Application/start_businessworker.php" />
<option value="$PROJECT_DIR$/Application/start_gateway.php" /> <option value="$PROJECT_DIR$/Application/start_gateway.php" />
<option value="$PROJECT_DIR$/Application/Events.php" />
<option value="$PROJECT_DIR$/Application/Controller.php" />
<option value="$PROJECT_DIR$/Lib/Response.php" /> <option value="$PROJECT_DIR$/Lib/Response.php" />
<option value="$PROJECT_DIR$/Route/Api.php" />
<option value="$PROJECT_DIR$/Application/Controller/CertifyController.php" /> <option value="$PROJECT_DIR$/Application/Controller/CertifyController.php" />
<option value="$PROJECT_DIR$/Application/Controller/AccessController.php" />
<option value="$PROJECT_DIR$/Lib/redis/RedisKey.php" />
<option value="$PROJECT_DIR$/Lib/Env.php" /> <option value="$PROJECT_DIR$/Lib/Env.php" />
<option value="$PROJECT_DIR$/.env" />
<option value="$PROJECT_DIR$/start.php" /> <option value="$PROJECT_DIR$/start.php" />
<option value="$PROJECT_DIR$/Lib/redis/RedisKey.php" />
<option value="$PROJECT_DIR$/Application/Model.php" />
<option value="$PROJECT_DIR$/Application/Model/GatewayModel.php" />
<option value="$PROJECT_DIR$/Application/Controller.php" />
<option value="$PROJECT_DIR$/Application/Controller/AccessController.php" />
<option value="$PROJECT_DIR$/Route/Api.php" />
<option value="$PROJECT_DIR$/vendor/workerman/workerman/Protocols/Bintohex.php" />
<option value="$PROJECT_DIR$/Application/Events.php" />
<option value="$PROJECT_DIR$/.env" />
</list> </list>
</option> </option>
</component> </component>
...@@ -191,7 +190,7 @@ ...@@ -191,7 +190,7 @@
</include_path> </include_path>
</component> </component>
<component name="ProjectFrameBounds"> <component name="ProjectFrameBounds">
<option name="x" value="212" /> <option name="x" value="73" />
<option name="y" value="53" /> <option name="y" value="53" />
<option name="width" value="1533" /> <option name="width" value="1533" />
<option name="height" value="1027" /> <option name="height" value="1027" />
...@@ -222,13 +221,8 @@ ...@@ -222,13 +221,8 @@
<path> <path>
<item name="cdz_gateway" type="b2602c69:ProjectViewProjectNode" /> <item name="cdz_gateway" type="b2602c69:ProjectViewProjectNode" />
<item name="cdz_gateway" type="462c0819:PsiDirectoryNode" /> <item name="cdz_gateway" type="462c0819:PsiDirectoryNode" />
<item name="Lib" type="462c0819:PsiDirectoryNode" /> <item name="Application" type="462c0819:PsiDirectoryNode" />
</path> <item name="Model" type="462c0819:PsiDirectoryNode" />
<path>
<item name="cdz_gateway" type="b2602c69:ProjectViewProjectNode" />
<item name="cdz_gateway" type="462c0819:PsiDirectoryNode" />
<item name="Lib" type="462c0819:PsiDirectoryNode" />
<item name="redis" type="462c0819:PsiDirectoryNode" />
</path> </path>
<path> <path>
<item name="cdz_gateway" type="b2602c69:ProjectViewProjectNode" /> <item name="cdz_gateway" type="b2602c69:ProjectViewProjectNode" />
...@@ -247,14 +241,15 @@ ...@@ -247,14 +241,15 @@
<property name="settings.editor.selected.configurable" value="preferences.pluginManager" /> <property name="settings.editor.selected.configurable" value="preferences.pluginManager" />
</component> </component>
<component name="RecentsManager"> <component name="RecentsManager">
<key name="MoveFile.RECENT_KEYS">
<recent name="$PROJECT_DIR$/Application" />
<recent name="$PROJECT_DIR$" />
</key>
<key name="CopyFile.RECENT_KEYS"> <key name="CopyFile.RECENT_KEYS">
<recent name="$PROJECT_DIR$/Lib" /> <recent name="$PROJECT_DIR$/Lib" />
<recent name="$PROJECT_DIR$/vendor/workerman/workerman/Protocols" /> <recent name="$PROJECT_DIR$/vendor/workerman/workerman/Protocols" />
<recent name="$PROJECT_DIR$/Application" /> <recent name="$PROJECT_DIR$/Application" />
</key> </key>
<key name="MoveFile.RECENT_KEYS">
<recent name="$PROJECT_DIR$" />
</key>
</component> </component>
<component name="RunDashboard"> <component name="RunDashboard">
<option name="ruleStates"> <option name="ruleStates">
...@@ -288,12 +283,12 @@ ...@@ -288,12 +283,12 @@
<workItem from="1526633655013" duration="252000" /> <workItem from="1526633655013" duration="252000" />
<workItem from="1526633932284" duration="2799000" /> <workItem from="1526633932284" duration="2799000" />
<workItem from="1526693912028" duration="527000" /> <workItem from="1526693912028" duration="527000" />
<workItem from="1526781646989" duration="8011000" /> <workItem from="1526781646989" duration="12240000" />
</task> </task>
<servers /> <servers />
</component> </component>
<component name="TimeTrackingManager"> <component name="TimeTrackingManager">
<option name="totallyTimeSpent" value="35434000" /> <option name="totallyTimeSpent" value="39663000" />
</component> </component>
<component name="TodoView"> <component name="TodoView">
<todo-panel id="selected-file"> <todo-panel id="selected-file">
...@@ -305,15 +300,16 @@ ...@@ -305,15 +300,16 @@
</todo-panel> </todo-panel>
</component> </component>
<component name="ToolWindowManager"> <component name="ToolWindowManager">
<frame x="212" y="53" width="1533" height="1027" extended-state="0" /> <frame x="73" y="53" width="1533" height="1027" extended-state="0" />
<editor active="true" /> <editor active="true" />
<layout> <layout>
<window_info anchor="bottom" id="TODO" order="6" sideWeight="0.49966466" weight="0.3296582" /> <window_info anchor="bottom" id="TODO" order="6" sideWeight="0.49966466" weight="0.3296582" />
<window_info anchor="bottom" id="Event Log" order="7" sideWeight="0.50033534" side_tool="true" weight="0.32855567" /> <window_info anchor="bottom" id="Event Log" order="7" sideWeight="0.50033534" side_tool="true" weight="0.32855567" />
<window_info anchor="bottom" id="Database Changes" order="7" show_stripe_button="false" /> <window_info anchor="bottom" id="Database Changes" order="7" show_stripe_button="false" />
<window_info anchor="bottom" id="File Transfer" weight="0.3296582" />
<window_info anchor="bottom" id="Run" order="2" /> <window_info anchor="bottom" id="Run" order="2" />
<window_info anchor="bottom" id="Version Control" order="7" sideWeight="0.49966466" weight="0.3296582" /> <window_info anchor="bottom" id="Version Control" order="7" sideWeight="0.49966466" weight="0.3296582" />
<window_info anchor="bottom" id="Terminal" order="7" sideWeight="0.49966466" visible="true" weight="0.32855567" /> <window_info anchor="bottom" id="Terminal" order="7" sideWeight="0.49966466" weight="0.32855567" />
<window_info active="true" content_ui="combo" id="Project" order="0" visible="true" weight="0.29644534" /> <window_info active="true" content_ui="combo" id="Project" order="0" visible="true" weight="0.29644534" />
<window_info anchor="bottom" id="Docker" order="7" show_stripe_button="false" /> <window_info anchor="bottom" id="Docker" order="7" show_stripe_button="false" />
<window_info anchor="right" id="Database" order="3" /> <window_info anchor="right" id="Database" order="3" />
...@@ -336,37 +332,6 @@ ...@@ -336,37 +332,6 @@
<option name="myLimit" value="2678400000" /> <option name="myLimit" value="2678400000" />
</component> </component>
<component name="editorHistoryManager"> <component name="editorHistoryManager">
<entry file="file://$PROJECT_DIR$/Application/Controller.php">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="1890">
<caret line="135" selection-start-line="135" selection-end-line="135" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/Lib/Env.php">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="1260">
<caret line="89" column="29" lean-forward="true" selection-start-line="89" selection-start-column="29" selection-end-line="89" selection-end-column="29" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/start.php">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="405">
<caret line="33" column="69" selection-start-line="33" selection-start-column="69" selection-end-line="33" selection-end-column="69" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/Lib/Log.php">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="1020">
<caret line="75" selection-start-line="75" selection-end-line="75" />
<folding>
<element signature="e#111#151#0#PHP" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/.env"> <entry file="file://$PROJECT_DIR$/.env">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="75"> <state relative-caret-position="75">
...@@ -513,13 +478,6 @@ ...@@ -513,13 +478,6 @@
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/composer.json">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="195">
<caret line="13" selection-start-line="13" selection-end-line="13" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/vendor/monolog/monolog/src/Monolog/Handler/StreamHandler.php"> <entry file="file://$PROJECT_DIR$/vendor/monolog/monolog/src/Monolog/Handler/StreamHandler.php">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="225"> <state relative-caret-position="225">
...@@ -610,96 +568,134 @@ ...@@ -610,96 +568,134 @@
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/Application/Events.php"> <entry file="file://$PROJECT_DIR$/Lib/Aes.php">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="1230"> <state relative-caret-position="150">
<caret line="86" lean-forward="true" selection-start-line="86" selection-end-line="86" /> <caret line="15" column="27" selection-start-line="15" selection-start-column="27" selection-end-line="15" selection-end-column="27" />
<folding>
<element signature="e#94#106#0#PHP" expanded="true" />
</folding>
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/Lib/Aes.php"> <entry file="file://$PROJECT_DIR$/Lib/Response.php">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="150"> <state relative-caret-position="1275">
<caret line="15" column="27" selection-start-line="15" selection-start-column="27" selection-end-line="15" selection-end-column="27" /> <caret line="91" column="21" lean-forward="true" selection-start-line="91" selection-start-column="21" selection-end-line="91" selection-end-column="21" />
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/Application/Controller.php"> <entry file="file://$PROJECT_DIR$/Application/Controller/CertifyController.php">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="-2153"> <state relative-caret-position="382">
<caret line="128" lean-forward="true" selection-start-line="128" selection-end-line="128" /> <caret line="39" lean-forward="true" selection-start-line="39" selection-end-line="39" />
<folding>
<element signature="e#130#157#0#PHP" expanded="true" />
</folding>
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/vendor/workerman/workerman/Protocols/Bintohex.php"> <entry file="file://$PROJECT_DIR$/Lib/Env.php">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="-668"> <state relative-caret-position="262">
<caret line="8" column="29" selection-start-line="8" selection-start-column="29" selection-end-line="8" selection-end-column="29" /> <caret line="82" column="26" lean-forward="true" selection-start-line="82" selection-start-column="26" selection-end-line="82" selection-end-column="26" />
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/Lib/Response.php"> <entry file="file://$PROJECT_DIR$/start.php">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="1275"> <state relative-caret-position="52">
<caret line="91" column="21" lean-forward="true" selection-start-line="91" selection-start-column="21" selection-end-line="91" selection-end-column="21" /> <caret line="41" column="35" lean-forward="true" selection-start-line="41" selection-start-column="35" selection-end-line="41" selection-end-column="35" />
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/Route/Api.php"> <entry file="file://$PROJECT_DIR$/Lib/redis/RedisKey.php">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="300"> <state relative-caret-position="135">
<caret line="25" selection-start-line="25" selection-end-line="25" /> <caret line="14" selection-start-line="14" selection-end-line="14" />
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/Application/Controller/CertifyController.php"> <entry file="file://$PROJECT_DIR$/vendor/workerman/mysql/src/Connection.php">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="382"> <state relative-caret-position="135">
<caret line="39" lean-forward="true" selection-start-line="39" selection-end-line="39" /> <caret line="11" column="6" selection-start-line="11" selection-start-column="6" selection-end-line="11" selection-end-column="6" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/Application/Model.php">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="57">
<caret line="14" column="24" lean-forward="true" selection-start-line="14" selection-start-column="24" selection-end-line="14" selection-end-column="24" />
<folding> <folding>
<element signature="e#130#157#0#PHP" expanded="true" /> <element signature="e#6#93#0#PHP" expanded="true" />
</folding> </folding>
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/Application/Model/GatewayModel.php">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="195">
<caret line="18" lean-forward="true" selection-start-line="18" selection-end-line="18" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/Application/Controller.php">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="350">
<caret line="316" column="20" selection-start-line="316" selection-start-column="20" selection-end-line="316" selection-end-column="20" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/Application/Controller/AccessController.php"> <entry file="file://$PROJECT_DIR$/Application/Controller/AccessController.php">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="375"> <state relative-caret-position="230">
<caret line="30" column="9" selection-start-line="30" selection-start-column="9" selection-end-line="30" selection-end-column="9" /> <caret line="48" column="27" selection-start-line="48" selection-start-column="27" selection-end-line="48" selection-end-column="27" />
<folding> <folding>
<element signature="e#126#153#0#PHP" expanded="true" /> <element signature="e#126#153#0#PHP" expanded="true" />
</folding> </folding>
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/Lib/redis/RedisKey.php"> <entry file="file://$PROJECT_DIR$/Route/Api.php">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="150"> <state relative-caret-position="315">
<caret line="15" selection-start-line="15" selection-end-line="15" /> <caret line="26" selection-start-line="26" selection-end-line="26" />
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/.env"> <entry file="file://$PROJECT_DIR$/vendor/workerman/workerman/Connection/TcpConnection.php">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="135"> <state relative-caret-position="-11351">
<caret line="9" column="20" selection-start-line="9" selection-start-column="20" selection-end-line="9" selection-end-column="20" /> <caret line="22" column="6" selection-start-line="22" selection-start-column="6" selection-end-line="22" selection-end-column="6" />
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/Lib/Env.php"> <entry file="file://$PROJECT_DIR$/vendor/workerman/workerman/Protocols/Bintohex.php">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="262"> <state relative-caret-position="330">
<caret line="82" column="26" lean-forward="true" selection-start-line="82" selection-start-column="26" selection-end-line="82" selection-end-column="26" /> <caret line="27" column="29" selection-start-line="27" selection-start-column="29" selection-end-line="27" selection-end-column="29" />
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/start.php"> <entry file="file://$PROJECT_DIR$/composer.json">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="427"> <state relative-caret-position="195">
<caret line="66" column="4" selection-start-line="66" selection-start-column="4" selection-end-line="66" selection-end-column="4" /> <caret line="13" selection-start-line="13" selection-end-line="13" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/Application/Events.php">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="395">
<caret line="49" column="8" selection-start-line="49" selection-start-column="8" selection-end-line="49" selection-end-column="8" />
<folding>
<element signature="e#94#106#0#PHP" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/.env">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="165">
<caret line="11" column="10" lean-forward="true" selection-start-line="11" selection-start-column="10" selection-end-line="11" selection-end-column="10" />
</state> </state>
</provider> </provider>
</entry> </entry>
......
...@@ -39,6 +39,9 @@ class Controller ...@@ -39,6 +39,9 @@ class Controller
protected $message; protected $message;
/**
* @var Request
*/
protected $request; protected $request;
/** /**
...@@ -57,6 +60,9 @@ class Controller ...@@ -57,6 +60,9 @@ class Controller
protected $logRecords = []; protected $logRecords = [];
/**
* @var array
*/
protected $defaultHeader = [ protected $defaultHeader = [
'preamble' => 2, 'preamble' => 2,
...@@ -102,6 +108,12 @@ class Controller ...@@ -102,6 +108,12 @@ class Controller
*/ */
protected $response; protected $response;
/**
* @var int
*/
protected $plc = 0;
/** /**
* *
* Controller constructor. * Controller constructor.
...@@ -130,6 +142,9 @@ class Controller ...@@ -130,6 +142,9 @@ class Controller
} }
/**
* todo 一次性写入日志
*/
public function __destruct() public function __destruct()
{ {
if (count($this->logRecords) != 0) { if (count($this->logRecords) != 0) {
...@@ -157,12 +172,16 @@ class Controller ...@@ -157,12 +172,16 @@ class Controller
$parameters[$key] = substr($data, $start, $length); $parameters[$key] = substr($data, $start, $length);
if (property_exists($this, $key)) { if (property_exists($this, $key)) {
$this->$key = $parameters[$key]; $this->$key = $parameters[$key];
} }
$start += $length; $start += $length;
$this->plc +=$length;
} }
return $parameters; return $parameters;
...@@ -274,8 +293,12 @@ class Controller ...@@ -274,8 +293,12 @@ class Controller
public function __call($name, $arguments) public function __call($name, $arguments)
{ {
//记录日志
if (in_array($name, ['debug', 'error', 'warn', 'alert'])) { if (in_array($name, ['debug', 'error', 'warn', 'alert'])) {
if (count($arguments) === 2) { if (count($arguments) === 2) {
$logRecord = new LogRecord($name, $arguments[0]); $logRecord = new LogRecord($name, $arguments[0]);
} else { } else {
...@@ -301,4 +324,22 @@ class Controller ...@@ -301,4 +324,22 @@ class Controller
return $this->request->get($key); return $this->request->get($key);
} }
/**
* @return int
*/
public function getPlc(): int
{
return $this->plc;
}
/**
* @param int $plc
*/
public function setPlc(int $plc): void
{
$this->plc = $plc;
}
} }
\ No newline at end of file
...@@ -19,10 +19,19 @@ class AccessController extends Controller ...@@ -19,10 +19,19 @@ class AccessController extends Controller
'02' => [ '02' => [
'mac' => 6 'mac' => 6
] ],
'03' => [
'start_num' => 1,
'count' => 1,
'total_count' => 1
],
]; ];
/**
* 网关请求入网
* command 01
*/
public function access() public function access()
{ {
if($_SESSION['certified'] === true) if($_SESSION['certified'] === true)
...@@ -34,10 +43,60 @@ class AccessController extends Controller ...@@ -34,10 +43,60 @@ class AccessController extends Controller
Gateway::closeClient($this->clientId); Gateway::closeClient($this->clientId);
} }
} }
public function syncPort()
{
$startLogicNum = $this->get('start_num');
$count = $this->get('count');
$totalCount = $this->get('total_count');
$portMacsState = substr($this->message,$this->plc);
var_dump($portMacsState);
}
} }
...@@ -38,8 +38,6 @@ class Events ...@@ -38,8 +38,6 @@ class Events
static::$redis->pconnect(Env::get('REDIS_HOST'), Env::get('REDIS_PORT'), 0); static::$redis->pconnect(Env::get('REDIS_HOST'), Env::get('REDIS_PORT'), 0);
//static::$redis->pconnect('redis',Env::get('REDIS_PORT'),0);
if (Env::has('REDIS_PASSWORD')) { if (Env::has('REDIS_PASSWORD')) {
var_dump(Env::get('REDIS_PASSWORD')); var_dump(Env::get('REDIS_PASSWORD'));
...@@ -49,7 +47,7 @@ class Events ...@@ -49,7 +47,7 @@ class Events
static::$redis->select(4); static::$redis->select(4);
// static::$db = new Connection(Env::get('DB_HOST'), Env::get('DB_PORT'), Env::get('DB_USERNAME'), Env::get('DB_PASSWORD'), Env::get('DB_DATABASE')); static::$db = new Connection(Env::get('DB_HOST'), Env::get('DB_PORT'), Env::get('DB_USER'), Env::get('DB_PASSWORD'), Env::get('DB_NAME'));
} }
...@@ -85,6 +83,9 @@ class Events ...@@ -85,6 +83,9 @@ class Events
$controllerName = APP.$controllerName; $controllerName = APP.$controllerName;
//去除crc字节
$message = substr($message,0,-2);
$controller = new $controllerName($clientId,$message,$command); $controller = new $controllerName($clientId,$message,$command);
$controller->$method(); $controller->$method();
......
<?php
/**
* Created by PhpStorm.
* User: suhangyang
* Date: 2017/12/2
* Time: 下午12:57
*/
namespace Application;
//use Applications\messagePush\Events;
use Workerman\MySQL\Connection;
class Model
{
/**
* @var Connection
*/
protected $db;
protected $table;
public function __construct()
{
$this->db = \Events::getDb();
}
public function getColumn($column,$where)
{
return $this->db->single("SELECT $column FROM $this->table WHERE $where");
}
public function getColumns(Array $columns,$where)
{
$columns = implode(',',$columns);
return $this->db->row("SELECT $columns FROM $this->table WHERE $where");
}
public function getRow($where)
{
return $this->db->row("SELECT * FROM $this->table WHERE $where");
}
public function insertRow(Array $data)
{
return $this->db->insert($this->table)->cols($data)->query();
}
}
\ No newline at end of file
<?php
/**
* Created by PhpStorm.
* User: banice
* Date: 2018/5/20
* Time: 下午3:10
*/
namespace Application\Model;
use Application\Model;
class GatewayModel extends Model
{
protected $table = 'gateway';
}
\ No newline at end of file
...@@ -13,5 +13,4 @@ class RedisKey ...@@ -13,5 +13,4 @@ class RedisKey
{ {
} }
\ No newline at end of file
...@@ -23,6 +23,7 @@ class Api ...@@ -23,6 +23,7 @@ class Api
static::add('02','AccessController@access'); static::add('02','AccessController@access');
static::add('03','AccessController@syncPort');
} }
......
...@@ -962,3 +962,110 @@ Stack trace: ...@@ -962,3 +962,110 @@ Stack trace:
2018-05-20 13:53:56 pid:12560 Workerman[start.php] start in DEBUG mode 2018-05-20 13:53:56 pid:12560 Workerman[start.php] start in DEBUG mode
2018-05-20 14:26:29 pid:12560 Workerman[start.php] stopping ... 2018-05-20 14:26:29 pid:12560 Workerman[start.php] stopping ...
2018-05-20 14:26:29 pid:12560 Workerman[start.php] has been stopped 2018-05-20 14:26:29 pid:12560 Workerman[start.php] has been stopped
2018-05-20 15:30:48 pid:13116 Workerman[start.php] start in DEBUG mode
2018-05-20 15:30:48 pid:13120 PDOException: SQLSTATE[HY000] [1045] Access denied for user ''@'localhost' (using password: NO) in /var/www/senthink/cdz_gateway/vendor/workerman/mysql/src/Connection.php:1711
Stack trace:
#0 /var/www/senthink/cdz_gateway/vendor/workerman/mysql/src/Connection.php(1711): PDO->__construct('mysql:dbname=;h...', NULL, NULL, Array)
#1 /var/www/senthink/cdz_gateway/vendor/workerman/mysql/src/Connection.php(1698): Workerman\MySQL\Connection->connect()
#2 /var/www/senthink/cdz_gateway/Application/Events.php(50): Workerman\MySQL\Connection->__construct(NULL, NULL, NULL, NULL, NULL)
#3 [internal function]: Events::onWorkerStart(Object(GatewayWorker\BusinessWorker))
#4 /var/www/senthink/cdz_gateway/vendor/workerman/gateway-worker/src/BusinessWorker.php(218): call_user_func('Events::onWorke...', Object(GatewayWorker\BusinessWorker))
#5 [internal function]: GatewayWorker\BusinessWorker->onWorkerStart(Object(GatewayWorker\BusinessWorker))
#6 /var/www/senthink/cdz_gateway/vendor/workerman/workerman/Worker.php(2115): call_user_func(Array, Object(GatewayWorker\BusinessWorker))
#7 /var/www/senthink/cdz_gateway/vendor/workerman/gateway-worker/src/BusinessWorker.php(197): Workerman\Worker->run()
#8 /var/www/senthink/cdz_gateway/vendor/workerman/workerman/Worker.php(1323): GatewayWorker\BusinessWorker->run()
#9 /var/www/senthink/cdz_gateway/vendor/workerman/workerman/Worker.php(1156): Workerman\Worker::forkOneWorkerForLinux(Object(GatewayWorker\BusinessWorker))
#10 /var/www/senthink/cdz_gateway/vendor/workerman/workerman/Worker.php(1130): Workerman\Worker::forkWorkersForLinux()
#11 /var/www/senthink/cdz_gateway/vendor/workerman/workerman/Worker.php(466): Workerman\Worker::forkWorkers()
#12 /var/www/senthink/cdz_gateway/start.php(73): Workerman\Worker::runAll()
#13 {main}
2018-05-20 15:30:48 pid:13117 PDOException: SQLSTATE[HY000] [1045] Access denied for user ''@'localhost' (using password: NO) in /var/www/senthink/cdz_gateway/vendor/workerman/mysql/src/Connection.php:1711
Stack trace:
#0 /var/www/senthink/cdz_gateway/vendor/workerman/mysql/src/Connection.php(1711): PDO->__construct('mysql:dbname=;h...', NULL, NULL, Array)
#1 /var/www/senthink/cdz_gateway/vendor/workerman/mysql/src/Connection.php(1698): Workerman\MySQL\Connection->connect()
#2 /var/www/senthink/cdz_gateway/Application/Events.php(50): Workerman\MySQL\Connection->__construct(NULL, NULL, NULL, NULL, NULL)
#3 [internal function]: Events::onWorkerStart(Object(GatewayWorker\BusinessWorker))
#4 /var/www/senthink/cdz_gateway/vendor/workerman/gateway-worker/src/BusinessWorker.php(218): call_user_func('Events::onWorke...', Object(GatewayWorker\BusinessWorker))
#5 [internal function]: GatewayWorker\BusinessWorker->onWorkerStart(Object(GatewayWorker\BusinessWorker))
#6 /var/www/senthink/cdz_gateway/vendor/workerman/workerman/Worker.php(2115): call_user_func(Array, Object(GatewayWorker\BusinessWorker))
#7 /var/www/senthink/cdz_gateway/vendor/workerman/gateway-worker/src/BusinessWorker.php(197): Workerman\Worker->run()
#8 /var/www/senthink/cdz_gateway/vendor/workerman/workerman/Worker.php(1323): GatewayWorker\BusinessWorker->run()
#9 /var/www/senthink/cdz_gateway/vendor/workerman/workerman/Worker.php(1156): Workerman\Worker::forkOneWorkerForLinux(Object(GatewayWorker\BusinessWorker))
#10 /var/www/senthink/cdz_gateway/vendor/workerman/workerman/Worker.php(1130): Workerman\Worker::forkWorkersForLinux()
#11 /var/www/senthink/cdz_gateway/vendor/workerman/workerman/Worker.php(466): Workerman\Worker::forkWorkers()
#12 /var/www/senthink/cdz_gateway/start.php(73): Workerman\Worker::runAll()
#13 {main}
2018-05-20 15:30:48 pid:13118 PDOException: SQLSTATE[HY000] [1045] Access denied for user ''@'localhost' (using password: NO) in /var/www/senthink/cdz_gateway/vendor/workerman/mysql/src/Connection.php:1711
Stack trace:
#0 /var/www/senthink/cdz_gateway/vendor/workerman/mysql/src/Connection.php(1711): PDO->__construct('mysql:dbname=;h...', NULL, NULL, Array)
#1 /var/www/senthink/cdz_gateway/vendor/workerman/mysql/src/Connection.php(1698): Workerman\MySQL\Connection->connect()
#2 /var/www/senthink/cdz_gateway/Application/Events.php(50): Workerman\MySQL\Connection->__construct(NULL, NULL, NULL, NULL, NULL)
#3 [internal function]: Events::onWorkerStart(Object(GatewayWorker\BusinessWorker))
#4 /var/www/senthink/cdz_gateway/vendor/workerman/gateway-worker/src/BusinessWorker.php(218): call_user_func('Events::onWorke...', Object(GatewayWorker\BusinessWorker))
#5 [internal function]: GatewayWorker\BusinessWorker->onWorkerStart(Object(GatewayWorker\BusinessWorker))
#6 /var/www/senthink/cdz_gateway/vendor/workerman/workerman/Worker.php(2115): call_user_func(Array, Object(GatewayWorker\BusinessWorker))
#7 /var/www/senthink/cdz_gateway/vendor/workerman/gateway-worker/src/BusinessWorker.php(197): Workerman\Worker->run()
#8 /var/www/senthink/cdz_gateway/vendor/workerman/workerman/Worker.php(1323): GatewayWorker\BusinessWorker->run()
#9 /var/www/senthink/cdz_gateway/vendor/workerman/workerman/Worker.php(1156): Workerman\Worker::forkOneWorkerForLinux(Object(GatewayWorker\BusinessWorker))
#10 /var/www/senthink/cdz_gateway/vendor/workerman/workerman/Worker.php(1130): Workerman\Worker::forkWorkersForLinux()
#11 /var/www/senthink/cdz_gateway/vendor/workerman/workerman/Worker.php(466): Workerman\Worker::forkWorkers()
#12 /var/www/senthink/cdz_gateway/start.php(73): Workerman\Worker::runAll()
#13 {main}
2018-05-20 15:30:48 pid:13119 PDOException: SQLSTATE[HY000] [1045] Access denied for user ''@'localhost' (using password: NO) in /var/www/senthink/cdz_gateway/vendor/workerman/mysql/src/Connection.php:1711
Stack trace:
#0 /var/www/senthink/cdz_gateway/vendor/workerman/mysql/src/Connection.php(1711): PDO->__construct('mysql:dbname=;h...', NULL, NULL, Array)
#1 /var/www/senthink/cdz_gateway/vendor/workerman/mysql/src/Connection.php(1698): Workerman\MySQL\Connection->connect()
#2 /var/www/senthink/cdz_gateway/Application/Events.php(50): Workerman\MySQL\Connection->__construct(NULL, NULL, NULL, NULL, NULL)
#3 [internal function]: Events::onWorkerStart(Object(GatewayWorker\BusinessWorker))
#4 /var/www/senthink/cdz_gateway/vendor/workerman/gateway-worker/src/BusinessWorker.php(218): call_user_func('Events::onWorke...', Object(GatewayWorker\BusinessWorker))
#5 [internal function]: GatewayWorker\BusinessWorker->onWorkerStart(Object(GatewayWorker\BusinessWorker))
#6 /var/www/senthink/cdz_gateway/vendor/workerman/workerman/Worker.php(2115): call_user_func(Array, Object(GatewayWorker\BusinessWorker))
#7 /var/www/senthink/cdz_gateway/vendor/workerman/gateway-worker/src/BusinessWorker.php(197): Workerman\Worker->run()
#8 /var/www/senthink/cdz_gateway/vendor/workerman/workerman/Worker.php(1323): GatewayWorker\BusinessWorker->run()
#9 /var/www/senthink/cdz_gateway/vendor/workerman/workerman/Worker.php(1156): Workerman\Worker::forkOneWorkerForLinux(Object(GatewayWorker\BusinessWorker))
#10 /var/www/senthink/cdz_gateway/vendor/workerman/workerman/Worker.php(1130): Workerman\Worker::forkWorkersForLinux()
#11 /var/www/senthink/cdz_gateway/vendor/workerman/workerman/Worker.php(466): Workerman\Worker::forkWorkers()
#12 /var/www/senthink/cdz_gateway/start.php(73): Workerman\Worker::runAll()
#13 {main}
2018-05-20 15:30:49 pid:13118 Worker process terminated
2018-05-20 15:30:49 pid:13119 Worker process terminated
2018-05-20 15:30:49 pid:13120 Worker process terminated
2018-05-20 15:30:49 pid:13116 Workerman[start.php] stopping ...
2018-05-20 15:30:49 pid:13116 worker[senthink_cdz_business:13118] exit with status 64000
2018-05-20 15:30:49 pid:13116 worker[senthink_cdz_business:13120] exit with status 64000
2018-05-20 15:30:49 pid:13117 Worker process terminated
2018-05-20 15:30:49 pid:13116 worker[senthink_cdz_business:13119] exit with status 64000
2018-05-20 15:30:49 pid:13116 worker[senthink_cdz_business:13117] exit with status 64000
2018-05-20 15:30:49 pid:13116 Workerman[start.php] has been stopped
2018-05-20 15:31:32 pid:13160 Workerman[start.php] start in DEBUG mode
2018-05-20 15:33:04 pid:13160 Workerman[start.php] stopping ...
2018-05-20 15:33:04 pid:13160 Workerman[start.php] has been stopped
2018-05-20 15:33:07 pid:13186 Workerman[start.php] start in DEBUG mode
2018-05-20 15:35:00 pid:13186 Workerman[start.php] stopping ...
2018-05-20 15:35:00 pid:13186 Workerman[start.php] has been stopped
2018-05-20 15:35:01 pid:13202 Workerman[start.php] start in DEBUG mode
2018-05-20 15:36:22 pid:13202 Workerman[start.php] stopping ...
2018-05-20 15:36:22 pid:13202 Workerman[start.php] has been stopped
2018-05-20 15:36:24 pid:13218 Workerman[start.php] start in DEBUG mode
2018-05-20 15:37:31 pid:13218 Workerman[start.php] stopping ...
2018-05-20 15:37:31 pid:13218 Workerman[start.php] has been stopped
2018-05-20 15:37:33 pid:13244 Workerman[start.php] start in DEBUG mode
2018-05-20 15:39:18 pid:13244 Workerman[start.php] stopping ...
2018-05-20 15:39:18 pid:13244 Workerman[start.php] has been stopped
2018-05-20 15:39:26 pid:13342 Workerman[start.php] start in DEBUG mode
2018-05-20 15:40:33 pid:13342 Workerman[start.php] stopping ...
2018-05-20 15:40:33 pid:13342 Workerman[start.php] has been stopped
2018-05-20 15:40:36 pid:13368 Workerman[start.php] start in DEBUG mode
2018-05-20 15:41:03 pid:13368 Workerman[start.php] stopping ...
2018-05-20 15:41:03 pid:13368 Workerman[start.php] has been stopped
2018-05-20 15:41:05 pid:13394 Workerman[start.php] start in DEBUG mode
2018-05-20 15:44:18 pid:13394 Workerman[start.php] stopping ...
2018-05-20 15:44:18 pid:13394 Workerman[start.php] has been stopped
2018-05-20 15:44:20 pid:13420 Workerman[start.php] start in DEBUG mode
2018-05-20 15:56:21 pid:13420 Workerman[start.php] stopping ...
2018-05-20 15:56:21 pid:13420 Workerman[start.php] has been stopped
2018-05-20 16:05:24 pid:13744 Workerman[start.php] start in DEBUG mode
2018-05-20 16:05:34 pid:13750 Register auth timeout (127.0.0.1). See http://wiki.workerman.net/Error4 for detail
2018-05-20 16:05:34 pid:13750 Register auth timeout (127.0.0.1). See http://wiki.workerman.net/Error4 for detail
2018-05-20 16:05:34 pid:13750 Register auth timeout (127.0.0.1). See http://wiki.workerman.net/Error4 for detail
2018-05-20 16:05:34 pid:13750 Register auth timeout (127.0.0.1). See http://wiki.workerman.net/Error4 for detail
...@@ -25,10 +25,14 @@ class Bintohex ...@@ -25,10 +25,14 @@ class Bintohex
$data = $data[1]; $data = $data[1];
var_dump(['message' => $data]);
$packageLength = strlen($data); $packageLength = strlen($data);
$packageLength/=2; $packageLength/=2;
echo 'length' .$packageLength.PHP_EOL;
//小于最小的头长度继续等待 //小于最小的头长度继续等待
if($packageLength < self::HEAD_LENGTH) if($packageLength < self::HEAD_LENGTH)
{ {
...@@ -46,16 +50,17 @@ class Bintohex ...@@ -46,16 +50,17 @@ class Bintohex
$hexCount = hexdec(substr($data,8,4)); $hexCount = hexdec(substr($data,8,4));
if($hexCount == $packageLength) if($packageLength >= $hexCount)
{ {
return $hexCount; return $hexCount;
}else{ }else{
$tcpConnection->close(); return 0;
} }
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment