emqx / emqx-stomp

EMQX Stomp Protocol Plugin
https://www.emqx.io
Apache License 2.0
5 stars 12 forks source link

stomp test result,nack and unsubcribe is fail #1

Open lsxredrain opened 9 years ago

lsxredrain commented 9 years ago

use this tools to test follow stomp command https://github.com/jasonrbriggs/stomp.py

Documented commands (type help ):

EOF begin help rollback sendfile stats ver abort commit nack run sendrec subscribe version ack exit quit send sendreply unsubscribe

1、 stomp connect client---- stomp server --- (emqttd@127.0.0.1)1> 15:22:59.472 [info] Connect from 127.0.0.1:35298 -> 127.0.0.1:61613 15:22:59.473 [info] RECV Frame: {stomp_frame,<<"STOMP">>,[{<<"accept-version">>,<<"1.1">>}],

2、begin client------

begin Transaction id: 34e90ddb-cf56-4d4a-9818-e10a503571a9 server ------ (emqttd@127.0.0.1)1> 15:25:13.736 [info] RECV Frame: {stomp_frame,<<"BEGIN">>,[{<<"transaction">>,<<"14aad9a6-9f00-433e-9eec-381f049e3f0e">>}],<<>>}

3、 rollback client -------

rollback Aborted transaction: 14aad9a6-9f00-433e-9eec-381f049e3f0e server ----- 15:25:54.474 [info] RECV Frame: {stomp_frame,<<"ABORT">>,[{<<"transaction">>,<<"14aad9a6-9f00-433e-9eec-381f049e3f0e">>}],<<>>} 4、subscribe client ---

subscribe /test/file Subscribing to "/test/file" with acknowledge set to "auto", id set to "1" server --- 15:27:58.257 [info] RECV Frame: {stomp_frame,<<"SUBSCRIBE">>,[{<<"id">>,<<"1">>},{<<"destination">>,<<"/test/file">>},{<<"ack">>,<<"auto">>}],<<>>} 5、send client-----

send /test/file hello MESSAGE destination: /test/file content-length: 5 message-id: 1 content-type: text/plain subscription: 1 hello

server ---- (emqttd@127.0.0.1)1> 15:29:47.536 [info] RECV Frame: {stomp_frame,<<"SEND">>,[{<<"transaction">>,<<"9cf5cc56-8926-40e5-b873-6aa4cc903c8a">>},{<<"destination">>,<<"/test/file">>},{<<"content-length">>,<<"5">>}],<<"hello">>}

6、sendfile client------

sendfile /test/file /home/dongjun/stomp.py/setup.py MESSAGE destination: /test/file content-length: 3604 message-id: 2 content-type: text/plain subscription: 1 aW1wb3J0IG9zCmltcG9ydCBzaHV0aWwKZnJvbSBkaXN0dXRpbHMuY29yZSBpbXBvcnQgc2V0dXAsIENvbW1hbmQKCmltcG9ydCB1bml0dGVzdAoKaW1wb3J0IGxvZ2dpbmcuY29uZmlnCnRyeToKICAgIGxvZ2dpbmcuY29uZmlnLmZpbGVDb25maWcoJ3N0b21wLmxvZy5jb25mJykKZXhjZXB0OgogICAgcGFzcwoKaW1wb3J0IHN0b21wCgoKY2xhc3MgVGVzdENvbW1hbmQoQ29tbWFuZCk6CiAgICB1c2VyX29wdGlvbnMgPSBbICgndGVzdD0nLCAndCcsICdzcGVjaWZpYyB0ZXN0IHRvIHJ1bicpIF0KCiAgICBkZWYgaW5pdGlhbGl6ZV9vcHRpb25zKHNlbGYpOgogICAgICAgIHNlbGYudGVzdCA9ICcqJwoKICAgIGRlZiBmaW5hbGl6ZV9vcHRpb25zKHNlbGYpOgogICAgICAgIHBhc3MKCiAgICBkZWYgcnVuKHNlbGYpOgogICAgICAgIHRyeToKICAgICAgICAgICAgaW1wb3J0IGNvdmVyYWdlCiAgICAgICAgICAgIGNvdiA9IGNvdmVyYWdlLmNvdmVyYWdlKCkKICAgICAgICAgICAgY292LnN0YXJ0KCkKICAgICAgICBleGNlcHQgSW1wb3J0RXJyb3I6CiAgICAgICAgICAgIGNvdiA9IE5vbmUKICAgICAgICAKICAgICAgICBzdWl0ZSA9IHVuaXR0ZXN0LlRlc3RTdWl0ZSgpCiAgICAgICAgaWYgc2VsZi50ZXN0ID09ICcqJzoKICAgICAgICAgICAgcHJpbnQoJ1J1bm5pbmcgYWxsIHRlc3RzJykKICAgICAgICAgICAgaW1wb3J0IHN0b21wLnRlc3QKICAgICAgICAgICAgZm9yIHRzdCBpbiBzdG9tcC50ZXN0Ll9fYWxsX186CiAgICAgICAgICAgICAgICBzdWl0ZS5hZGRUZXN0cyh1bml0dGVzdC5UZXN0TG9hZGVyKCkubG9hZFRlc3RzRnJvbU5hbWUoJ3N0b21wLnRlc3QuJXMnICUgdHN0KSkKICAgICAgICBlbHNlOgogICAgICAgICAgICBzdWl0ZSA9IHVuaXR0ZXN0LlRlc3RMb2FkZXIoKS5sb2FkVGVzdHNGcm9tTmFtZSgnc3RvbXAudGVzdC4lcycgJSBzZWxmLnRlc3QpCiAgICAgICAgdW5pdHRlc3QuVGV4dFRlc3RSdW5uZXIodmVyYm9zaXR5PTIpLnJ1bihzdWl0ZSkKICAgICAgICAKICAgICAgICBpZiBjb3Y6CiAgICAgICAgICAgIGNvdi5zdG9wKCkKICAgICAgICAgICAgY292LnNhdmUoKQogICAgICAgICAgICBjb3YuaHRtbF9yZXBvcnQoZGlyZWN0b3J5PScuLi9zdG9tcHB5LWRvY3MvaHRtbGNvdicpCgoKY2xhc3MgVGVzdFBpcEluc3RhbGxDb21tYW5kKENvbW1hbmQpOgogICAgdXNlcl9vcHRpb25zID0gWyBdCiAgICAKICAgIGRlZiBpbml0aWFsaXplX29wdGlvbnMoc2VsZik6CiAgICAgICAgcGFzcwoKICAgIGRlZiBmaW5hbGl6ZV9vcHRpb25zKHNlbGYpOgogICAgICAgIHBhc3MKCiAgICBkZWYgcnVuKHNlbGYpOgogICAgICAgIGlmIG9zLnBhdGguZXhpc3RzKCd0bXAnKToKICAgICAgICAgICAgc2h1dGlsLnJtdHJlZSgndG1wJykKICAgICAgICBvcy5ta2RpcigndG1wJykKICAgICAgICAKICAgICAgICBmcm9tIHZpcnR1YWxlbnZhcGkubWFuYWdlIGltcG9ydCBWaXJ0dWFsRW52aXJvbm1lbnQKICAgICAgICBlbnYgPSBWaXJ0dWFsRW52aXJvbm1lbnQoJ3RtcC9zY3JhdGNoJykKICAgICAgICBlbnYuaW5zdGFsbCgnc3RvbXAucHknKSAgICAgICAgICAgIAogICAgICAgIAoKY2xhc3MgRG94eWdlbkNvbW1hbmQoQ29tbWFuZCk6CiAgICB1c2VyX29wdGlvbnMgPSBbIF0KCiAgICBkZWYgaW5pdGlhbGl6ZV9vcHRpb25zKHNlbGYpOgogICAgICAgIHBhc3MKCiAgICBkZWYgZmluYWxpemVfb3B0aW9ucyhzZWxmKToKICAgICAgICBwYXNzCgogICAgZGVmIHJ1bihzZWxmKToKICAgICAgICBvcy5zeXN0ZW0oJ2RveHlnZW4gY29uZmlnLmRveCcpCgoKZGVmIHZlcnNpb24oKToKICAgIHMgPSBbXQogICAgZm9yIG51bSBpbiBzdG9tcC5fX3ZlcnNpb25fXzoKICAgICAgICBzLmFwcGVuZChzdHIobnVtKSkKICAgIHJldHVybiAnLicuam9pbihzKQoKCnNldHVwKAogICAgbmFtZSA9ICdzdG9tcC5weScsCiAgICB2ZXJzaW9uID0gdmVyc2lvbigpLAogICAgZGVzY3JpcHRpb24gPSAnUHl0aG9uIFNUT01QIGNsaWVudCwgc3VwcG9ydGluZyB2ZXJzaW9ucyAxLjAsIDEuMSBhbmQgMS4yIG9mIHRoZSBwcm90b2NvbCcsCiAgICBsaWNlbnNlID0gJ0FwYWNoZScsCiAgICB1cmwgPSAnaHR0cHM6Ly9naXRodWIuY29tL2phc29ucmJyaWdncy9zdG9tcC5weScsCiAgICBhdXRob3IgPSAnSmFzb24gUiBCcmlnZ3MnLAogICAgYXV0aG9yX2VtYWlsID0gJ2phc29ucmJyaWdnc0BnbWFpbC5jb20nLAogICAgcGxhdGZvcm1zID0gWydhbnknXSwKICAgIHBhY2thZ2VzID0gWydzdG9tcCcsICdzdG9tcC5hZGFwdGVyJ10sCiAgICBjbWRjbGFzcyA9IHsgJ3Rlc3QnIDogVGVzdENvbW1hbmQsICdkb2NzJyA6IERveHlnZW5Db21tYW5kLCAncGlwdGVzdCcgOiBUZXN0UGlwSW5zdGFsbENvbW1hbmQgfSwKICAgIHNjcmlwdHMgPSBbJy4vc2NyaXB0cy9zdG9tcCddLAogICAgY2xhc3NpZmllcnMgPSBbCiAgICAgICAgICdEZXZlbG9wbWVudCBTdGF0dXMgOjogNSAtIFByb2R1Y3Rpb24vU3RhYmxlJywKICAgICAgICAgJ0ludGVuZGVkIEF1ZGllbmNlIDo6IERldmVsb3BlcnMnLAogICAgICAgICAnTGljZW5zZSA6OiBPU0kgQXBwcm92ZWQgOjogQXBhY2hlIFNvZnR3YXJlIExpY2Vuc2UnLAogICAgICAgICAnUHJvZ3JhbW1pbmcgTGFuZ3VhZ2UgOjogUHl0aG9uIDo6IDInLAogICAgICAgICAnUHJvZ3JhbW1pbmcgTGFuZ3VhZ2UgOjogUHl0aG9uIDo6IDMnCiAgICAgICAgIF0KKQo=

server ---- 15:31:24.085 [info] RECV Frame: {stomp_frame,<<"SEND">>,[{<<"transaction">>,<<"9cf5cc56-8926-40e5-b873-6aa4cc903c8a">>},{<<"filename">>,<<"/home/dongjun/stomp.py/setup.py">>},{<<"destination">>,<<"/test/file">>},{<<"content-length">>,<<"3604">>}],<<"aW1wb3J0IG9zCmltcG9ydCBzaHV0aWwKZnJvbSBkaXN0dXRpbHMuY29yZSBpbXBvcnQgc2V0dXAsIENvbW1hbmQKCmltcG9ydCB1bml0dGVzdAoKaW1wb3J0IGxvZ2dpbmcuY29uZmlnCnRyeToKICAgIGxvZ2dpbmcuY29uZmlnLmZpbGVDb25maWcoJ3N0b21wLmxvZy5jb25mJykKZXhjZXB0OgogICAgcGFzcwoKaW1wb3J0IHN0b21wCgoKY2xhc3MgVGVzdENvbW1hbmQoQ29tbWFuZCk6CiAgICB1c2VyX29wdGlvbnMgPSBbICgndGVzdD0nLCAndCcsICdzcGVjaWZpYyB0ZXN0IHRvIHJ1bicpIF0KCiAgICBkZWYgaW5pdGlhbGl6ZV9vcHRpb25zKHNlbGYpOgogICAgICAgIHNlbGYudGVzdCA9ICcqJwoKICAgIGRlZiBmaW5hbGl6ZV9vcHRpb25zKHNlbGYpOgogICAgICAgIHBhc3MKCiAgICBkZWYgcnVuKHNlbGYpOgogICAgICAgIHRyeToKICAgICAgICAgICAgaW1wb3J0IGNvdmVyYWdlCiAgICAgICAgICAgIGNvdiA9IGNvdmVyYWdlLmNvdmVyYWdlKCkKICAgICAgICAgICAgY292LnN0YXJ0KCkKICAgICAgICBleGNlcHQgSW1wb3J0RXJyb3I6CiAgICAgICAgICAgIGNvdiA9IE5vbmUKICAgICAgICAKICAgICAgICBzdWl0ZSA9IHVuaXR0ZXN0LlRlc3RTdWl0ZSgpCiAgICAgICAgaWYgc2VsZi50ZXN0ID09ICcqJzoKICAgICAgICAgICAgcHJpbnQoJ1J1bm5pbmcgYWxsIHRlc3RzJykKICAgICAgICAgICAgaW1wb3J0IHN0b21wLnRlc3QKICAgICAgICAgICAgZm9yIHRzdCBpbiBzdG9tcC50ZXN0Ll9fYWxsX186CiAgICAgICAgICAgICAgICBzdWl0ZS5hZGRUZXN0cyh1bml0dGVzdC5UZXN0TG9hZGVyKCkubG9hZFRlc3RzRnJvbU5hbWUoJ3N0b21wLnRlc3QuJXMnICUgdHN0KSkKICAgICAgICBlbHNlOgogICAgICAgICAgICBzdWl0ZSA9IHVuaXR0ZXN0LlRlc3RMb2FkZXIoKS5sb2FkVGVzdHNGcm9tTmFtZSgnc3RvbXAudGVzdC4lcycgJSBzZWxmLnRlc3QpCiAgICAgICAgdW5pdHRlc3QuVGV4dFRlc3RSdW5uZXIodmVyYm9zaXR5PTIpLnJ1bihzdWl0ZSkKICAgICAgICAKICAgICAgICBpZiBjb3Y6CiAgICAgICAgICAgIGNvdi5zdG9wKCkKICAgICAgICAgICAgY292LnNhdmUoKQogICAgICAgICAgICBjb3YuaHRtbF9yZXBvcnQoZGlyZWN0b3J5PScuLi9zdG9tcHB5LWRvY3MvaHRtbGNvdicpCgoKY2xhc3MgVGVzdFBpcEluc3RhbGxDb21tYW5kKENvbW1hbmQpOgogICAgdXNlcl9vcHRpb25zID0gWyBdCiAgICAKICAgIGRlZiBpbml0aWFsaXplX29wdGlvbnMoc2VsZik6CiAgICAgICAgcGFzcwoKICAgIGRlZiBmaW5hbGl6ZV9vcHRpb25zKHNlbGYpOgogICAgICAgIHBhc3MKCiAgICBkZWYgcnVuKHNlbGYpOgogICAgICAgIGlmIG9zLnBhdGguZXhpc3RzKCd0bXAnKToKICAgICAgICAgICAgc2h1dGlsLnJtdHJlZSgndG1wJykKICAgICAgICBvcy5ta2RpcigndG1wJykKICAgICAgICAKICAgICAgICBmcm9tIHZpcnR1YWxlbnZhcGkubWFuYWdlIGltcG9ydCBWaXJ0dWFsRW52aXJvbm1lbnQKICAgICAgICBlbnYgPSBWaXJ0dWFsRW52aXJvbm1lbnQoJ3RtcC9zY3JhdGNoJykKICAgICAgICBlbnYuaW5zdGFsbCgnc3RvbXAucHknKSAgICAgICAgICAgIAogICAgICAgIAoKY2xhc3MgRG94eWdlbkNvbW1hbmQoQ29tbWFuZCk6CiAgICB1c2VyX29wdGlvbnMgPSBbIF0KCiAgICBkZWYgaW5pdGlhbGl6ZV9vcHRpb25zKHNlbGYpOgogICAgICAgIHBhc3MKCiAgICBkZWYgZmluYWxpemVfb3B0aW9ucyhzZWxmKToKICAgICAgICBwYXNzCgogICAgZGVmIHJ1bihzZWxmKToKICAgICAgICBvcy5zeXN0ZW0oJ2RveHlnZW4gY29uZmlnLmRveCcpCgoKZGVmIHZlcnNpb24oKToKICAgIHMgPSBbXQogICAgZm9yIG51bSBpbiBzdG9tcC5fX3ZlcnNpb25fXzoKICAgICAgICBzLmFwcGVuZChzdHIobnVtKSkKICAgIHJldHVybiAnLicuam9pbihzKQoKCnNldHVwKAogICAgbmFtZSA9ICdzdG9tcC5weScsCiAgICB2ZXJzaW9uID0gdmVyc2lvbigpLAogICAgZGVzY3JpcHRpb24gPSAnUHl0aG9uIFNUT01QIGNsaWVudCwgc3VwcG9ydGluZyB2ZXJzaW9ucyAxLjAsIDEuMSBhbmQgMS4yIG9mIHRoZSBwcm90b2NvbCcsCiAgICBsaWNlbnNlID0gJ0FwYWNoZScsCiAgICB1cmwgPSAnaHR0cHM6Ly9naXRodWIuY29tL2phc29ucmJyaWdncy9zdG9tcC5weScsCiAgICBhdXRob3IgPSAnSmFzb24gUiBCcmlnZ3MnLAogICAgYXV0aG9yX2VtYWlsID0gJ2phc29ucmJyaWdnc0BnbWFpbC5jb20nLAogICAgcGxhdGZvcm1zID0gWydhbnknXSwKICAgIHBhY2thZ2VzID0gWydzdG9tcCcsICdzdG9tcC5hZGFwdGVyJ10sCiAgICBjbWRjbGFzcyA9IHsgJ3Rlc3QnIDogVGVzdENvbW1hbmQsICdkb2NzJyA6IERveHlnZW5Db21tYW5kLCAncGlwdGVzdCcgOiBUZXN0UGlwSW5zdGFsbENvbW1hbmQgfSwKICAgIHNjcmlwdHMgPSBbJy4vc2NyaXB0cy9zdG9tcCddLAogICAgY2xhc3NpZmllcnMgPSBbCiAgICAgICAgICdEZXZlbG9wbWVudCBTdGF0dXMgOjogNSAtIFByb2R1Y3Rpb24vU3RhYmxlJywKICAgICAgICAgJ0ludGVuZGVkIEF1ZGllbmNlIDo6IERldmVsb3BlcnMnLAogICAgICAgICAnTGljZW5zZSA6OiBPU0kgQXBwcm92ZWQgOjogQXBhY2hlIFNvZnR3YXJlIExpY2Vuc2UnLAogICAgICAgICAnUHJvZ3JhbW1pbmcgTGFuZ3VhZ2UgOjogUHl0aG9uIDo6IDInLAogICAgICAgICAnUHJvZ3JhbW1pbmcgTGFuZ3VhZ2UgOjogUHl0aG9uIDo6IDMnCiAgICAgICAgIF0KKQo=">>}

7、sendrec client------

sendrec /test/file sendrec MESSAGE destination: /test/file content-length: 7 message-id: 3 content-type: text/plain subscription: 1 sendrec

server ---- 15:33:09.901 [info] RECV Frame: {stomp_frame,<<"SEND">>,[{<<"transaction">>,<<"9cf5cc56-8926-40e5-b873-6aa4cc903c8a">>},{<<"receipt">>,<<"a5542178-d5e4-41ec-a9f0-a08182e984ef">>},{<<"destination">>,<<"/test/file">>},{<<"content-length">>,<<"7">>}],<<"sendrec">>}

8、sendreply client----

sendreply /test/file 1 sendreply MESSAGE destination: /test/file content-length: 10 message-id: 4 content-type: text/plain subscription: 1 sendreply

server ----- 15:34:55.437 [info] RECV Frame: {stomp_frame,<<"SEND">>,[{<<"destination">>,<<"/test/file">>},{<<"correlation-id">>,<<"1">>},{<<"content-length">>,<<"10">>}],<<"sendreply\n">>}

9、commit client ------

commit Committing 9cf5cc56-8926-40e5-b873-6aa4cc903c8a server --- 15:36:12.398 [info] RECV Frame: {stomp_frame,<<"COMMIT">>,[{<<"transaction">>,<<"9cf5cc56-8926-40e5-b873-6aa4cc903c8a">>}],<<>>} 10、abort client----

abort Aborted transaction: 2a995931-3975-4560-bcd9-f0ab79e83de9 server --- 15:37:18.091 [info] RECV Frame: {stomp_frame,<<"ABORT">>,[{<<"transaction">>,<<"2a995931-3975-4560-bcd9-f0ab79e83de9">>}],<<>>} 11、ack client ---

ack 1 1 server --- 15:39:08.921 [info] RECV Frame: {stomp_frame,<<"ACK">>,[{<<"transaction">>,<<"6c480e9f-f8ec-4e9d-b6b5-c1be96dfeb56">>},{<<"subscription">>,<<"1">>},{<<"message-id">>,<<"1">>}],<<>>}

nack client --- nack 1 1 lost connection server ---

(emqttd@127.0.0.1)1> 15:40:14.723 [info] RECV Frame: {stomp_frame,<<"DISCONNECT">>,[{<<"receipt">>,<<"a5414169-4903-4121-99d6-ff8a702b91ac">>}],<<>>} 15:40:14.723 [info] Stomp(127.0.0.1:35298) terminated, reason: {undef,[{emqttd_stomp,make,[<<"RECEIPT">>,[{<<"receipt-id">>,<<"a5414169-4903-4121-99d6-ff8a702b91ac">>}]],[]},{emqttd_stomp_proto,received,2,[{file,"src/emqttd_stomp_proto.erl"},{line,131}]},{emqttd_stomp_conn,received,2,[{file,"src/emqttd_stomp_conn.erl"},{line,146}]},{gen_server,try_dispatch,4,[{file,"gen_server.erl"},{line,593}]},{gen_server,handle_msg,5,[{file,"gen_server.erl"},{line,659}]},{proc_lib,wake_up,3,[{file,"proc_lib.erl"},{line,247}]}]}

=ERROR REPORT==== 21-Sep-2015::15:40:14 === * Generic server <0.410.0> terminating * Last message in was {inet_async,#Port<0.5534>,163, {ok,<<68,73,83,67,79,78,78,69,67,84,10,114,101,99, 101,105,112,116,58,97,53,52,49,52,49,54,57, 45,52,57,48,51,45,52,49,50,49,45,57,57,100, 54,45,102,102,56,97,55,48,50,98,57,49,97,99, 10,10,0>>}} \ When Server state == {state,esockd_transport,#Port<0.5534>, {{127,0,0,1},35298}, "127.0.0.1:35298 -> 127.0.0.1:61613",true,running, false,#Fun, {proto_state, {{127,0,0,1},35298},

Fun,true,

undefined,undefined,undefined, [{<<"1">>,<<"/test/file">>,<<"auto">>}]}, [{max_headers,10}, {max_header_length,1024}, {max_body_length,8192}], undefined} * Reason for termination == * {'function not exported', [{emqttd_stomp,make, [<<"RECEIPT">>, [{<<"receipt-id">>,<<"a5414169-4903-4121-99d6-ff8a702b91ac">>}]], []}, {emqttd_stomp_proto,received,2, [{file,"src/emqttd_stomp_proto.erl"},{line,131}]}, {emqttd_stomp_conn,received,2, [{file,"src/emqttd_stomp_conn.erl"},{line,146}]}, {gen_server,try_dispatch,4,[{file,"gen_server.erl"},{line,593}]}, {gen_server,handle_msg,5,[{file,"gen_server.erl"},{line,659}]}, {proc_lib,wake_up,3,[{file,"proc_lib.erl"},{line,247}]}]}

13、unsubcribe client ----

unsubscribe /test/file Unsubscribing from "/test/file" lost connection server--- 15:42:25.409 [info] RECV Frame: {stomp_frame,<<"UNSUBSCRIBE">>,[{<<"id">>,<<"1">>},{<<"destination">>,<<"/test/file">>}],<<>>} 15:42:25.409 [info] Stomp(127.0.0.1:35299) terminated, reason: {{case_clause,{proto_state,{{127,0,0,1},35299},#Fun,true,undefined,undefined,undefined,[]}},[{emqttd_stomp_conn,received,2,[{file,"src/emqttd_stomp_conn.erl"},{line,146}]},{gen_server,try_dispatch,4,[{file,"gen_server.erl"},{line,593}]},{gen_server,handle_msg,5,[{file,"gen_server.erl"},{line,659}]},{proc_lib,wake_up,3,[{file,"proc_lib.erl"},{line,247}]}]}

=ERROR REPORT==== 21-Sep-2015::15:42:25 === * Generic server <0.427.0> terminating * Last message in was {inet_async,#Port<0.5536>,172, {ok,<<85,78,83,85,66,83,67,82,73,66,69,10,100,101, 115,116,105,110,97,116,105,111,110,58,47, 116,101,115,116,47,102,105,108,101,10,105, 100,58,49,10,10,0>>}} \ When Server state == {state,esockd_transport,#Port<0.5536>, {{127,0,0,1},35299}, "127.0.0.1:35299 -> 127.0.0.1:61613",true,running, false,#Fun, {proto_state, {{127,0,0,1},35299},

Fun,true,

undefined,undefined,undefined, [{<<"1">>,<<"/test/file">>,<<"auto">>}]}, [{max_headers,10}, {max_header_length,1024}, {max_body_length,8192}], undefined} * Reason for termination == * {{case_clause,{proto_state,{{127,0,0,1},35299},

Fun,true,

undefined,undefined,undefined,[]}}, [{emqttd_stomp_conn,received,2, [{file,"src/emqttd_stomp_conn.erl"},{line,146}]}, {gen_server,try_dispatch,4,[{file,"gen_server.erl"},{line,593}]}, {gen_server,handle_msg,5,[{file,"gen_server.erl"},{line,659}]}, {proc_lib,wake_up,3,[{file,"proc_lib.erl"},{line,247}]}]}

emqplus commented 9 years ago

@lsxredrain, I fixed the two crashed errors.

lsxredrain commented 9 years ago

https://stomp.github.io/stomp-specification-1.2.html#NACK now have no crashed, but why nack is DISCONNECT action, it is not acording to stomp-specification-1.2.

  1. nack client ---

    nack 1 1 RECEIPT receipt-id: a0de527a-db0a-47ea-9621-7d0f774c3c5b

lost connection server --- 09:34:59.985 [info] RECV Frame: {stomp_frame,<<"DISCONNECT">>,[{<<"receipt">>,<<"a0de527a-db0a-47ea-9621-7d0f774c3c5b">>}],<<>>} 09:34:59.985 [info] Stomp(127.0.0.1:35330) terminated, reason: normal

  1. unsubscribe client --- unsubscribe /test/lsx Unsubscribing from "/test/lsx"

server --- 09:39:00.943 [info] RECV Frame: {stomp_frame,<<"UNSUBSCRIBE">>,[{<<"id">>,<<"1">>},{<<"destination">>,<<"/test/lsx">>}],<<>>}