{"action":"created","issue":{"url":"https://api.github.com/repos/golang/go/issues/5958","repository_url":"https://api.github.com/repos/golang/go","labels_url":"https://api.github.com/repos/golang/go/issues/5958/labels{/name}","comments_url":"https://api.github.com/repos/golang/go/issues/5958/comments","events_url":"https://api.github.com/repos/golang/go/issues/5958/events","html_url":"https://github.com/golang/go/issues/5958","id":51284457,"number":5958,"title":"x/net/websocket: server should ping on an interval","user":{"login":"lukescott","id":486224,"avatar_url":"https://avatars.githubusercontent.com/u/486224?v=3","gravatar_id":"","url":"https://api.github.com/users/lukescott","html_url":"https://github.com/lukescott","followers_url":"https://api.github.com/users/lukescott/followers","following_url":"https://api.github.com/users/lukescott/following{/other_user}","gists_url":"https://api.github.com/users/lukescott/gists{/gist_id}","starred_url":"https://api.github.com/users/lukescott/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lukescott/subscriptions","organizations_url":"https://api.github.com/users/lukescott/orgs","repos_url":"https://api.github.com/users/lukescott/repos","events_url":"https://api.github.com/users/lukescott/events{/privacy}","received_events_url":"https://api.github.com/users/lukescott/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":{"url":"https://api.github.com/repos/golang/go/milestones/22","html_url":"https://github.com/golang/go/milestones/Unreleased","labels_url":"https://api.github.com/repos/golang/go/milestones/22/labels","id":1067491,"number":22,"title":"Unreleased","description":"Issues that do not affect released Go code and binaries.\r\n","creator":{"login":"rsc","id":104030,"avatar_url":"https://avatars.githubusercontent.com/u/104030?v=3","gravatar_id":"","url":"https://api.github.com/users/rsc","html_url":"https://github.com/rsc","followers_url":"https://api.github.com/users/rsc/followers","following_url":"https://api.github.com/users/rsc/following{/other_user}","gists_url":"https://api.github.com/users/rsc/gists{/gist_id}","starred_url":"https://api.github.com/users/rsc/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rsc/subscriptions","organizations_url":"https://api.github.com/users/rsc/orgs","repos_url":"https://api.github.com/users/rsc/repos","events_url":"https://api.github.com/users/rsc/events{/privacy}","received_events_url":"https://api.github.com/users/rsc/received_events","type":"User","site_admin":false},"open_issues":446,"closed_issues":436,"state":"open","created_at":"2015-04-14T18:48:22Z","updated_at":"2016-03-20T18:29:47Z","due_on":"2099-12-31T05:00:00Z","closed_at":null},"comments":6,"created_at":"2013-07-25T17:34:50Z","updated_at":"2016-03-20T21:47:00Z","closed_at":null,"body":"<pre>RFC6455 has a ping/pong function that allows the server to discover if the client isn't\nresponding. The go.net/websocket library will respond to pings, but cannot send them or\ndo anything with pongs.\n\nWhat I'd like to see is some sort of PingInterval / PongTimeout value that causes pings\nto be sent on a timer, and then timeout the connection if a pong hasn't been received.\n\nPerhaps this can be done in the Read function, or done in a go routine. It would likely\nhave to use SetReadDeadline, but I'm not sure how that would work with the existing\nexported function.</pre>"},"comment":{"url":"https://api.github.com/repos/golang/go/issues/comments/199035480","html_url":"https://github.com/golang/go/issues/5958#issuecomment-199035480","issue_url":"https://api.github.com/repos/golang/go/issues/5958","id":199035480,"user":{"login":"klausenbusk","id":1080056,"avatar_url":"https://avatars.githubusercontent.com/u/1080056?v=3","gravatar_id":"","url":"https://api.github.com/users/klausenbusk","html_url":"https://github.com/klausenbusk","followers_url":"https://api.github.com/users/klausenbusk/followers","following_url":"https://api.github.com/users/klausenbusk/following{/other_user}","gists_url":"https://api.github.com/users/klausenbusk/gists{/gist_id}","starred_url":"https://api.github.com/users/klausenbusk/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/klausenbusk/subscriptions","organizations_url":"https://api.github.com/users/klausenbusk/orgs","repos_url":"https://api.github.com/users/klausenbusk/repos","events_url":"https://api.github.com/users/klausenbusk/events{/privacy}","received_events_url":"https://api.github.com/users/klausenbusk/received_events","type":"User","site_admin":false},"created_at":"2016-03-20T21:47:00Z","updated_at":"2016-03-20T21:47:00Z","body":"3 year later, and nothing had happened yet."}}