type address = string
interface Package {
  sa: address | 'unicast/address' | 'multicast/address'
  da: address | 'unicast/address' | 'multicast/address'
  content: any
}

interface Content {
  id: number,
  data: any
}

'''address resolution'''

客户端链接服务器后,需要先在服务器上进行注册。

ws.register(UserData)

此时的sa为null,da应为'unicast/0.0.0.0',content.id为0,data为UserData的内容。

服务器返回sa为'unicast/0.0.0.0',da为分配的地址,例如'unicast/1.0.0.1',content.id为0,data为null。

request & response

client(address).request(path, data)

server().response(path, data)