Socket communications in a web browser with node.js and socket.io

이것은 nodejs를 사용하는 웹 브라우저에서 소켓을 사용하는 매우 빠른 데모입니다

및 socketio 서버 간 클라이언트 메시징을 시연 할 것입니다 클라이언트 대 서버 메시징 seanwasere에 의해 클라이언트에서 서버로 다시 메시지 전달 우리가 여기에있는 것을 보자 node

js는 이미 미리 설치되어 있습니다 2 파일, serverjs 및 및 indexhtml 내가 보여줄 게

당신은 그들이 폴더에 앉아있는 방법 이미 socketio를 설치했습니다 그리고 그들은 거기에있는 두 파일입니다 파일은 server

js입니다 대부분의 자습서에서 얻는 것의 기본값입니다 그리고 그것은 포트 80에서 듣고 있습니다 당신이 요청할 때 indexhtml을 제공 할 것입니다

기본 기능을 가지고 있습니다 연결 모두 주석 처리되어있다 그리고 indexhtml에 나는 같은 것을 가지고있다 나는 최소한을 가지고있다

socketiojs 스크립트 참조 그리고 스크립트에서 소켓 변수 그 외 모든 것은 주석 처리됩니다 첫 번째 데모에서 ping을 호출하려고합니다 클라이언트에서 ping이라는 함수를 호출합니다

그리고 거기에있다 핑 (ping), 핑 (ping), 화면에 핑 (ping)을 쓰려고합니다 그래서 나는 그것을 구할 것이고, 그것을 구할 것이다 시작하십시오 이제 서버가 실행 중이고 지금 새로 고침하겠습니다

좋아, 핑 (ping)이라는 단어, 문서 점 쓰기 라인 핑 거기에 두 가지가있다 C 서버에서 제어, 그 주석을 취소 그 주석을 달다 저장하다, 저장하다, 시작하다 노드가 실행 중입니다 ping 100을 보내려고합니다 ping 100, 거기있다 그래서 연결되면 서버가 ping 100을 보냈습니다

고객에게 함수 ping이 일부 데이터를 원한다면 데이터를 보여줍니다 이제 우리는 테스트 3 이제 우리는 문자열을 보낼 것입니다 그 끈 고객에게 보내 드리겠습니다 저것을 제외하고, 시작하십시오 쪽으로 새로 고침, 확인, 이것은 문자열, 핑, 데이터입니다

이것은 문자열입니다 우리는 그걸 막을거야 테스트 4를 할거야 그 의견을 밝히시오 테스트 4, 이번에는 대상을 보내고 있습니다

객체 표기법 사용 주석을 달다 내가 새로 고친다면 아무것도, 서버가 꺼져 있고, 서버가 켜져 있습니다 새로 고침, 확인, myObjectKey 내 개체 값은 문자열입니다

문서 도트 쓰기 라인 핑 데이터 도트, myObjectKey 그리고 거기에있다 키 값 쌍, 키, 값 그것은 모두 클라이언트에게 데이터를 보냅니다 연결시 그만해, 테스트 5하자 그들과 같은 이제 우리는 클라이언트에서 서버로 데이터를 보낼 것입니다

그래서 우리는에 대한 이벤트를 설정해야합니다 서버의 이벤트 핸들러 그리고 그것은 탁구 라 불린다 그것은 콘솔에 단어 pong을 쓰려고합니다 클라이언트가 연결되면 그냥 pong이라는 단어를 보냅니다 여기 기능에 저장, 서버 시작 새로 고침, 우리가 가면, 탁구가있어

그래서 클라이언트는 연결시 그 함수를 호출하는 단어를 보냈습니다 시작하다 거기에 전화해서 퐁을 썼다 그걸 멈추고 테스트 해 6 이번에 매개 변수를 보내 드리겠습니다 어떻게 생겼는지 보여 드리겠습니다

저장하다, 저장하다, 시작하다 우리가 간다, 이제 보자 번호, 테스트 7 이번에는 개체를 보냅니다 그것이 호출 된 anotherObjectKey 우리는 anotherObjectKey를 써서 저장하고, 저장합니다 serverjs를 시작하고 새로 고침하십시오

우리가 간다, 퐁 102 여기서 anotherObjectKey는 102와 같습니다 그것은 모두 꽤 좋다 서버를 정지시키다 우리가 핑퐁을 할 것입니다 어디서, 언제 서비스가 언제 클라이언트가 연결되는지 먼저 핑을 보냅니다

클라이언트는 핑을 얻을 것이다 그것을 화면에 쓰고, 값을 증가시키고이를 서버로 다시 보내면된다 서버가 테이블을 가져 와서 데이터를 읽습니다 데이터를 쓰고 조금씩 늘려서 ping으로 다시 보내십시오 그리고 그 싸이클은 계속된다

탁구, 탁구, 탁구, 그거 좋아해 먼저 시도해 봅시다 서버를 시작한다 탁구 탁구 탁구 탁구, 우리가 가면, 저것 봐, 와우, 탁구 꽤 빠릅니다 로컬에서 실행되고 있습니다

그건 아주 빠를거야 꽤 빠른 그만하자 그 의견을 밝히시오 이제 setTimeout을 사용할 수 있습니다

테스트 9, setTimeout 저장하다, 저장하다 클라이언트 연결시 수행 할 작업, 전송할 작업 ping, 0을 갖는 ping 5 초 고객 측에서는 핑 소리가 나면 돈을 내야합니다 우리는 그것을 화면에 쓴다 값을 증가시킬 것이다 그리고 5 초 후에 우리는 탁구를 보낸다

서버로 돌아 가기 그걸 보게 해줘 보라, 5 초 만에 핑 (ping)을 얻어야한다 클라이언트에서, 여기, 옙 그리고 또 5 초 후에 우리는 여기에 탁구를 줄거야 넘버 1이 있습니다 그리고 그게 다야 이제 그 일을 계속할 수 있어요

방금 다른 setTimeout을 넣으면 시간 프레임을 줄이면 조금 빨라집니다 그래서 매 2 초마다, 시작합니다 좋아, 탁구, 핑 미안해 탁구 핑 탁구 핑 탁구 좋아, 그냥 그만 두자 데이터도 증가 시켜라

거기에 데이터를 보내라 다 좋아 시작하고 새로 고침해라 핑 탁구 핑 탁구 핑 탁구 이제 막 영원히 갈거야 그만 그만, 그걸 좀 빨리 할거야 그래서 1 초 사이에 각각, 시작 새로 고침, 핑, 퐁, 핑 탁구, 탁구, 탁구, 핑 pong, 다른 브라우저를 열면 어떻게 될지 살펴 보겠습니다

127, 이제 우리는 두 개의 브라우저로 탁구를 치고 있습니다 와우 나는 우리가해야한다고 생각한다 그만 다음에 가라 setInterval의 테스트 setInterval은 ping을 계속 보내려한다는 것을 의미합니다 2 초마다

그것은 계속해서 일어날 것입니다 나는 당신이 그것을 모두 볼 수 있도록 그냥 만들 것입니다 동영상을 일시 중지 할 수 있습니다 그것의 코멘트는 다시 해당 클라이언트 기능입니다 그것을 실행하고 새로 고침, 2 초마다 이것은 서버의 핑입니다

우수한