[ 
https://issues.apache.org/jira/browse/TINKERPOP-1695?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16058312#comment-16058312
 ] 

Charlie commented on TINKERPOP-1695:
------------------------------------

Here is a python example using tornado.

{code:none}
import uuid
from tornado import websocket, ioloop

loop = ioloop.IOLoop()
socket = loop.run_sync(lambda: 
websocket.websocket_connect("ws://127.0.0.1:8182/gremlin"))


first_message = b'\x10application/json{"processor": "session", "requestId": 
"d52ba43b-1c82-4965-abef-918e6bef420a", "args": {"gremlin": "g.V().count()", 
"session": "8c13e3b8-b322-41e3-81a3-a879e12a0343", "language": 
"gremlin-groovy", "bindings": {}, "scriptEvaluationTimeout": 600000, "aliases": 
{}}, "op": "eval"}'
close_message = b'\x10application/json{"processor": "session", "requestId": 
"e9a7602a-b7f9-4983-8175-238e1f307776", "args": {"gremlin": null, "session": 
"8c13e3b8-b322-41e3-81a3-a879e12a0343", "language": "gremlin-groovy", 
"bindings": null, "scriptEvaluationTimeout": null, "aliases": {}}, "op": 
"close"}'

# send message so it knows about new session
loop.run_sync(lambda: socket.write_message(first_message, binary=True))

print "First message sent."

# read message, don't care
resp = loop.run_sync(lambda: socket.read_message()) 

print "Message response: %s" % resp

# send close message
loop.run_sync(lambda: socket.write_message(close_message, binary=True))

print "Close message sent."

# Hang here forever since no message is received
resp = loop.run_sync(lambda: socket.read_message()) 

print "Close response: %s" % resp

socket.close()
{code}


> Session close over websocket does not reply with confirmation
> -------------------------------------------------------------
>
>                 Key: TINKERPOP-1695
>                 URL: https://issues.apache.org/jira/browse/TINKERPOP-1695
>             Project: TinkerPop
>          Issue Type: Bug
>          Components: server
>    Affects Versions: 3.2.3, 3.2.4
>         Environment: Ubuntu 14.04
>            Reporter: Charlie
>            Priority: Minor
>         Attachments: pcap_ws.png
>
>
> If you were to open up wireshark and monitor the websocket traffic and run 
> the following in the gremlin console, you will see that a close message will 
> get sent, but no confirmation back that the session actually closed. 
> {code:java}
> gremlin> :remote console tinkerpop.server conf/remote.yaml session
> gremlin> :> g.V().count()
> gremlin> :remote close
> {code}



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to