Project

General

Profile

Actions

Task #1468

closed

WebSockets channel and face

Added by Alex Afanasyev about 10 years ago. Updated almost 10 years ago.

Status:
Closed
Priority:
Normal
Assignee:
Category:
Faces
Target version:
Start date:
Due date:
% Done:

100%

Estimated time:
6.00 h

Description

Develop WebSockets listener and faces.

  • FaceUri format
    • remote: wsclient://IP:port
      This is not same as "ws" scheme, because this URI can't be used to connect to that peer.
    • local: ws or wss scheme
  • Listener IP, port, and path are configurable.
    • defaults: 0.0.0.0, 8080, /
    • path: suppose path is set to "/example", client would need to connect to "ws://hostname:8080/example"
  • Accepted faces are considered non-local.

Related issues 1 (0 open1 closed)

Blocks NFD - Task #1553: Unit-tests for WebSocket implementationClosedWentao Shang04/28/2014

Actions
Actions #1

Updated by Junxiao Shi about 10 years ago

  • Subject changed from Import c++ implementation of websocket proxy into NFD to WebSockets channel and face
  • Description updated (diff)
  • Category changed from Tools to Faces
  • Estimated time set to 6.00 h
Actions #2

Updated by Alex Afanasyev about 10 years ago

This is different and more complex task from what I put. Don't we want to have a first step of just introducing websocket proxy as a separate daemon?

Actions #3

Updated by Junxiao Shi about 10 years ago

Separate daemon already exists, and requires changing port number only. It merely passes octets between WebSockets stream and TCP stream. That daemon could stay in its own git repository.

In Version 2 I'd like to see full WebSockets support: listener in NFD process.

Actions #4

Updated by Alex Afanasyev about 10 years ago

It exists, but it is not bundled/tested inside NFD package.

Actions #5

Updated by Junxiao Shi about 10 years ago

The proxy should stay where it is, and be tested with NFD and NDN-JS (when it adopts TLV), much earlier than V2. V2 is too late for this feature.

V2 needs full integrated WebSockets support.

Actions #6

Updated by Alex Afanasyev almost 10 years ago

Wenato submitted the code and the question now is how we want to handle the dependency. The dependency is a head-only library (https://github.com/zaphoyd/websocketpp), which Wentao added as a git submodule. Is it a way we want to go or we should do something else?

Actions #7

Updated by Alex Afanasyev almost 10 years ago

  • Status changed from New to Code review
  • % Done changed from 0 to 80
Actions #8

Updated by Alex Afanasyev almost 10 years ago

  • Blocks Task #1553: Unit-tests for WebSocket implementation added
Actions #9

Updated by Junxiao Shi almost 10 years ago

  • Status changed from Code review to Closed
  • % Done changed from 80 to 100

There's no active Change on Gerrit. I assume this Task is complete.

Actions

Also available in: Atom PDF