How to detect which client is receiving the package?
Ninguém assumiu esta issue ainda.
Avaliação
- Dificuldade
- 5/5
- Tempo estimado
- Mais de uma semana
- Facilidade para iniciantes
- 15/100
- Tipo de issue
- Documentação
- Clareza
- Precisa de esclarecimento
- Status de atividade
- Estagnada
- Stack de tecnologia
- javascript, node.js
- Domínio
- backend, networking
Direção de pesquisa
A issue contém um exemplo de proxy WebSocket, mas não indica nenhum arquivo do repositório, teste ou ponto de entrada a ser alterado. Primeiro, esclareça se é desejada uma atualização da documentação ou uma alteração no código e, em seguida, defina o comportamento esperado de identificação do cliente e uma condição de conclusão testável.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
Hello,
I am creating a WebSocket proxy. And I need to know which client is receiving the package. Basically I should store data from incoming traffic to use them in outgoing traffic and each client has different data. I searched and tried different ways but none of them worked. Can anyone suggest a working solution?
var proxyWebsocket, serverWebsocket, clientData = {};
const startWSProxy = (data) => {
proxyWebsocket = new httpProxy.createProxyServer({
target: {
protocol: 'ws',
host: 'localhost',
port: localPacketPort
},
ws: true,
xfwd: true,
toProxy: true
});
proxyWebsocket.on('open', function (proxySocket) {
proxySocket.on('data', (res) => {
// access the identifier here
// For example:
// proxySocket._uuid
// console.log(clientData[proxySocket._uuid]);
});
});
serverWebsocket = http.createServer();
serverWebsocket.on('upgrade', function (req, socket, head) {
proxyWebsocket.ws(req, socket, head);
// Set an identifier here
// For example:
// socket._uuid = uuid_generate();
socket.on('data', (res) => {
// clientData[socket._uuid][] = res
});
});
serverWebsocket.listen(remotePacketPort);
};
- Linguagem predominante
- JavaScript
- Estrelas
- 14.1k
- Forks
- 2k
- Métricas de merge de PRs
- Nenhum PR com merge em 30d
Preparar o ambiente
Este projeto não oferece contêiner de desenvolvimento, Dockerfile nem guia de contribuição, então a configuração fica por sua conta: comece pelo README e veja nosso guia da primeira contribuição para os passos gerais.
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Mais de http-party/node-http-proxy
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 78/100
http-party/node-http-proxy#1719 ·
-
Dificuldade 3/5 1-2 dias Facilidade para iniciantes 72/100
http-party/node-http-proxy#1721 · 1 comentário ·
-
Dificuldade 1/5 Menos de uma hora Facilidade para iniciantes 55/100
http-party/node-http-proxy#1715 · 1 comentário · 5 reações ·
-
Is this library is dead?Aberta
Dificuldade 1/5 Menos de uma hora Facilidade para iniciantes 15/100
http-party/node-http-proxy#1711 · 2 comentários ·
-
HTTP3 + QUIC support?Aberta
Dificuldade 5/5 Mais de uma semana Facilidade para iniciantes 25/100
http-party/node-http-proxy#1710 · 5 reações ·
Todas as issues de http-party/node-http-proxy
Issues semelhantes
-
Add plone.svg to plone/iconsAberta
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 68/100
Mantenedores costumam responder em até 2 dias
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 72/100
ome/ngff-rfc8-revisions#50 ·
Mantenedores costumam responder em até 3 dias
-
Bug: Batcher binds the texture that opens a new batch twice (one draw call per element with maxBatchableTextures = 1)Talvez já em andamento @darzarzycki assumiu hoje. Aberta
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 77/100
Mantenedores costumam responder em até 2 dias
-
[Open Source] PixelboltAberta
Dificuldade 1/5 Menos de uma hora Facilidade para iniciantes 84/100
521xueweihan/HelloGitHub#4297 ·
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 78/100
Mantenedores costumam responder em até 1 dia