성공할 때까지 정기적으로 웹 소켓 연결을 열려고합니다. 그래서 저는 매 5 초마다 노력하고 있습니다. 처음에는 약 1 분 정도 작동하는 것 같습니다. 즉 서버가 비활성화 된 상태에서 연결을 시도한 다음 readyState를 3으로 설정 한 후 즉시 닫고 5 초 후 다른 시도, 또 다른 동일한 응답으로 즉시 닫습니다. 하지만 1 분 또는 2 분 후에 더 이상 연결을 닫지 않고 연결 상태 (readyState == 0)로 멈 춥니 다. 나는 그 후, 서버를 해고하는 경우웹 소켓 연결이 닫히지 않습니다.
function wsConnect()
{
console.log("trying to connect...");
var socket = new WebSocket("wss://blahblah.com");
socket.onopen=function(){console.log("open");};
socket.onerror=function(){console.log("error");};
socket.onclose=function(msg){console.log("close");};
setTimeout(function(){console.log("RS:"+socket.readyState);socket.close();wsConnect();},5000);
}
흥미롭게도, 그것은까지 대기하고 readyState가 0의 결과 아마도 모든 연결이 이루어 연결 수십 당한다. readystate 0 연결을 완전히 없애 버릴 수있는 방법이 있습니까? 열려 있지 않아 닫을 수 없습니다.
또는 주기적으로 서버를 사용할 수있을 때 연결할 수 있도록 연결 시도를 만들지 만 원하는만큼 많은 수의 연결로 서버를 공격하지 않으려면 어떻게해야합니까?
브라우저 :이 readyState가 0 응답을 시작하면 크롬
, 심지어는 페이지 새로 고침는 해결되지 않습니다. 완전히 새로운 도메인으로 이동 한 다음 돌아가는 것은 다시 설정하는 것입니다.
스택 오버플로에 오신 것을 환영합니다! 어떤 브라우저를 사용하고 있습니까? – starbeamrainbowlabs
죄송합니다. 브라우저는 크롬입니다. Firefox도 비슷한 동작을 보입니다. 나는 그것이 나에게 그것이 얼마나 대단히 특별한 일이 아니라고 생각 하는지를 얼마나 많은 고생이주고 있는지를 믿을 수 없다. 서버가 다시 사용 가능해질 때까지 브라우저가 계속 시도하기 만하면됩니다. 나는이 문제가있는 유일한 사람인가? – poby
아마도 http://crbug.com에서 버그 보고서를 여는 것이 도움이 될 것입니다. – starbeamrainbowlabs