How to detect which client is receiving the package?

Đang mở
#1,656 0 bình luận 0 reaction 0 người được giao Xem trên GitHub

Chưa có ai nhận issue này.

Đánh giá

Độ khó
5/5
Thời gian dự kiến
Hơn một tuần
Mức phù hợp với người mới
15/100
Loại issue
Tài liệu
Độ rõ ràng
Cần làm rõ
Mức độ hoạt động
Đình trệ
Công nghệ
javascript, node.js
Lĩnh vực
backend, networking

Hướng nghiên cứu

Issue chứa một ví dụ về proxy WebSocket nhưng không nêu file, test hoặc entry point nào trong repository cần thay đổi. Trước tiên, hãy làm rõ liệu cần cập nhật tài liệu hay thay đổi code, sau đó xác định hành vi nhận diện client được kỳ vọng và một điều kiện hoàn thành có thể kiểm thử.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Mô tả

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);
};
Ngôn ngữ chính
JavaScript
Star
14.1k
Fork
2k
Chỉ số merge pull request
Không có pull request nào được merge trong 30 ngày

Chuẩn bị môi trường

Dự án này không cung cấp dev container, Dockerfile hay hướng dẫn đóng góp, nên bạn cần tự thiết lập môi trường: hãy bắt đầu từ README và xem hướng dẫn đóng góp lần đầu của chúng tôi để biết các bước chung.

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của http-party/node-http-proxy

Tất cả issue của http-party/node-http-proxy

Issue tương tự

Thêm issue về JavaScript

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.