cuốn sách gpt4 ai đã làm

NodeJS - Cách viết ứng dụng khách kết nối với máy chủ NodeJS và nhận tin nhắn quảng bá

In lại Tác giả: Vũ trụ không gian Thời gian cập nhật: 2023-11-03 22:27:54 30 4
mua khóa gpt4 Nike

Tôi có máy chủ nodeJS sau và nó có vẻ hoạt động tốt. Tôi muốn viết một ứng dụng khách nhận tin nhắn từ máy chủ và gọi một số JS dựa trên tin nhắn.

Các bước liên quan là:

  1. URL truy cập của người dùnghttp://server.xyz.com:8080/pa
  2. Máy chủ nodeJS nhận cuộc gọi và truyền nó đến các máy khách được kết nối pa cuộc gọi api đã được nhận chưa.
  3. Máy khách nodeJS được kết nối với máy chủ gọi một cái gì đó bằngpaJS liên quan đến hoạt động.

我的问题是:

1. Làm cách nào để đảm bảo máy chủ phát thông báo đó như Bước 2?
2. Làm cách nào để viết một ứng dụng khách thực hiện Bước 3 ở trên.

Đối với khách hàng, tôi thấy rất nhiều tài liệu tham khảo về socket.io, nhưng tôi không chắc đâu là framework tốt nhất trong trường hợp này.

máy chủ.js

var http = require('http');

http.createServer(function(request, reply) {
request.on('error', function(err) {
console.error(err);
phản hồi.statusCode = 400;
phản hồi.end();
});
reply.on('error', function(err) {
console.error(err);
});

reply.writeHead(200, {'Content-Type': 'application/json'});
var body=[];
if (request.method === 'GET' && request.url === '/pa') {
reply.end(JSON.stringify({"action": "pa"}));
}
khác nếu (request.method === 'GET' && request.url === '/pi') {
reply.end(JSON.stringify({"action": "pi"}));
}
khác {
phản hồi.statusCode = 404;
phản hồi.end();
}
}).listen(8080);

câu trả lời hay nhất

Nếu máy khách cũng sử dụng Node.js thì bạn có thể thiết lập dịch vụ webhook/push. Ngày nay, webhook được sử dụng trong tất cả các API chính và chúng cực kỳ phổ biến trong Slack và Microsoft. Phần sau đây được lấy cảm hứng từ Microsoft Office 365 phát trực tuyếnAPI dịch vụ.

Thêm một tuyến đường mà khách hàng có thể POST, chúng tôi gọi nó là /đặt mua. hiện hữu /đặt mua Trong phần nội dung yêu cầu của tuyến đường, chúng chứa một url mà chúng tôi gọi là paReceiverUrl.

Nếu client muốn gửi tin nhắn cho người khác /pa được thông báo khi điểm cuối gửi tin nhắn, máy khách có thể /đặt mua Điểm cuối gửi yêu cầu và chứa vị trí cần được thông báo rằng chúng được định vị - paUrl người nhận (Và bất kỳ thông tin nào khác, có thể là một số dữ liệu xác thực). Để an toàn, bạn nên lưu trữ thông tin khách hàng đã đăng ký trong bộ nhớ cố định, để cơ sở dữ liệu làm việc đó cho bạn hoặc chỉ ghi nó vào một tệp cho đến khi nó phức tạp hơn.

bây giờ của bạn '/pa' Lộ trình trở nên giống thế này hơn (bước 2 của bạn):

if (request.method === 'GET' && request.url === '/pa') {
// Gửi phản hồi cho người gửi yêu cầu
reply.end(JSON.stringify({"action": "pa"}));
// Lấy thông tin khách hàng đã đăng ký
var subscribeClients = <đọc từ="" tập="" tin="" hoặc="" db="">
// Phát tin
for(var i = 0; i < subscribedClientsUrls.length; i++) {
// Gửi cho họ một yêu cầu tại subscribeClients[i].paReceiverUrl
}
}

Bây giờ, ở bước 3, máy khách chỉ cần yêu cầu máy chủ paUrl người nhận Chấp nhận yêu cầu tại , và sau đó họ có thể gọi bất kỳ JS nào họ muốn.

Nếu bạn cần thêm thời gian thực thì tôi sẽ sử dụng giao thức Web Sockets để thiết lập kết nối HTTP liên tục nhằm truyền dữ liệu.

Về javascript - NodeJS - Cách viết một ứng dụng khách kết nối với máy chủ NodeJS và nhận tin nhắn quảng bá, chúng tôi tìm thấy một câu hỏi tương tự trên Stack Overflow: https://stackoverflow.com/questions/42757846/

30 4 0
không gian vũ trụ
Hồ sơ

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá taxi Didi miễn phí
Phiếu giảm giá taxi Didi
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress