2014-06-12 4 views
1

node.js에서 로컬 TCP 연결을 수행하기위한 강력한 소켓 라이브러리를 찾는 데 어려움을 겪고 있습니다.NodeJS의 로컬 TCP 소켓 연결에 websocket 라이브러리를 사용할 수 있습니까?

저는 SockJS 나 Socket.io와 같은 라이브러리를 클라이언트/서버 소켓 연결에 사용하는 것을 좋아합니다. 그러나 나는 일반 소켓과 다른 웹 소켓을 사용합니다.

일반 소켓을 사용하는 것과 비슷한 성능을 가진 로컬 연결을 위해 Websocket 라이브러리를 사용할 수 있는지, 아니면 원하지 않는 네트워킹 오버 헤드가 많이 포함되어 있는지 궁금합니다.

기본적으로이 세 가지를 소켓으로 구현하고 싶습니다. 네이티브 네트워킹 모듈로 기본 설정을 수행 할 수 있다고 생각하지 않습니다.

  • 각 소켓의 상태 (활성 또는 비활성)를 모니터링합니다.
  • 는 데이터
+0

실제로 네트워킹 라이브러리가 필요합니다 (http://nodejs.org/api/net.html 노드의 net 기본 라이브러리 참조). –

+0

제 질문에 해당 라이브러리를 참조합니다. "네이티브 네트워킹 모듈 ". –

답변

1

WebSocket을은 TCP와 같은 연결되는 소켓을 통해 전송 청크의 데이터를 구축

  • 어디에서 오는 알 수 있도록 각 소켓에 ID를 부착, 실제로 위에 실행되는 (자체가 TCP 연결 내에서 실행되는) 설정된 HTTP 연결의. 이는 다음을 의미합니다.

    • 모든 데이터가 특수 프레임에 입력되고 일반 TCP 연결 설정에 추가로 HTTP 연결 설정이 있습니다.
    • 일반 소켓과 호환되지 않습니다. 연결의 다른쪽에 WebSockets를 인식하는 피어가 필요합니다.

    이외에도 기본 TCP 연결에 추가 안정성이나 기능을 추가하지 않습니다. 예 : 귀하의 요구 사항은 정상적인 소켓에서 이미 가능합니다.

  • +0

    내가 틀렸다면 node.js의"net "모듈이"raw "소켓이라고 생각되는 것을 수정합니다. 서버, 클라이언트 및 소켓 객체가 있지만 객체는 어디 있는지 알지 못합니다. 그것이 살아 있거나 죽은 경우 등등 ... 그래서 이러한 기능을 달성하기 위해 소켓을 장식해야 할 것입니다. 아마도 "net"모듈을 사용하는 경험이있는 누군가가 이것을 검증 할 수 있었으면 좋겠지 만 추가 오버 헤드에는 만족하지 않습니다. 내가 직접 작업하고있는 것처럼 보였으므로 좋은 답변입니다. 감사합니다 .. –

    +0

    @JoshElias : Wth TCP 전송 또는 수신을 시도 할 때만 연결이 끊어지면 알 수 있습니다. 다른 방법은 없습니다. 연결이 끊어 졌는지 확인합니다. 이 기능이 필요한 경우 애플리케이션 프로토콜에 하트 비트 프로토콜과 같은 것을 구축해야합니다. –

    +0

    오케이. 그건 의미가 있습니다. 내가 얼마나 자주 하트 비트에 대해 "핑 (ping)"을 할 수 있는지에 대한 조언이 있습니까? –

    관련 문제