Avatar
0
Nguyen Van Huy Beginner
Nguyen Van Huy Beginner
Infra Chat Application
<div class="markdown-block">Để giao tiếp message giữa các websocket server với nhau trong các ứng dụng websocket thì ngoài các pub/sub server như redis, kafka,... thì còn cách nào không anh Dũng</div>
Answer
Avatar
1
Nguyen Van Huy Beginner
Nguyen Van Huy Beginner
Thắc mắc về building infra ứng dụng chat
<div class="markdown-block">Anh Dũng ơi,Em đang nghiên cứu về system design ứng dụng chat có khả năng scale nhiều WebSocket server, và em đang nghĩ cách là dùng Redis Pub/Sub để broadcast message giữa các server. Tuy nhiên, em đang không rõ nếu Redis (kể cả trong trường hợp sử dụng Redis Cluster) bị downtime thì các WebSocket server sẽ nhận message như thế nào?Liệu giải pháp hợp lý trong trường hợp này có nên là truy vấn lại message từ database không ạ?Anh có thể giải thích giúp em hướng xử lý phù hợp hoặc best practice cho tình huống này không ạ?</div>
Answer
Avatar
2
Điệp Trần Beginner
Điệp Trần Beginner
So sánh giữa websocket vs long polling
<div class="markdown-block">Trong một cuộc trang luận với đồng nghiệp của mình, có 2 luồng ý kiến: websocket /long polling là 1, chỉ là 1 cái của p.tây, 1 cái của các pháp sư trung hoa. websocket với long polling là 2 giao thức có cơ chế hoàn toàn khác nhau Mình tạo câu hỏi này muốn ý kiến của mọi người xem cái nào là đúngCó 1 câu hỏi nữa là giữa websocket, long polling, sses thì cái nào tốn ít tài nguyên của server hơn</div>
Answer
Avatar
0
PhuongPyke Beginner
PhuongPyke Beginner
Bảo mật giữa client và server
<div class="markdown-block">Hi ae, AE cho mình tham khảo chút về việc bảo mật giữa client và server game .Ở đây client của mình là web Nuxtjs và server game là nakama Khi mình đăng kí trên server game 1 RPC để cho client gọi vào . thì việc truyền payload giữa client lên server đang được public . Mình đang muốn tham khảo 1 số các cách để chống bị Cross-site request forgery (Giả mạo yêu cầu liên trang)Mục địch ngăn chặn các yêu cầu giả mạo để nhập thông tin về điểm số, tiền... của gameRequest từ client :!nakama3.PNGServer game register RPC!nakama1.PNG!nakama1.PNG</div>
Answer
Avatar
0
kidsoul Beginner
kidsoul Beginner
Client không nhận được message từ socket server nếu server chủ động gửi message
<div class="markdown-block">Mình đang phát triển tính năng chat giữa các devices trên Flutter gặp một lỗi như sau, google vẫn chưa ra hoặc chưa đúng keyword; không biết anh/chị/bạn nào từng gặp phải thì gợi ý cho mình với ạ. Xin cảm ơn mọi người!!! Tại server, mình dùng shelf để tạo websocket, xử lý các request từ client:</div><div class="markdown-block">final routerHandler = shelf_router.Router()</div><div class="markdown-block">..get('/message', (request) =&gt; handleWs(request));</div><div class="markdown-block">Cascade cascade = Cascade()</div><div class="markdown-block">.add(routerHandler)</div><div class="markdown-block">var handler = const Pipeline().addHandler(cascade.handler);</div><div class="markdown-block">await shelf_io.serve(handler, ipAddress, port)</div><div class="markdown-block">FutureOr&lt;Response&gt; handleWs(Request request) {</div><div class="markdown-block">final channels = &lt;WebSocketChannel&gt;[];</div><div class="markdown-block">return ws.webSocketHandler((WebSocketChannel channel) {</div><div class="markdown-block">channels.add(channel);</div><div class="markdown-block">channel.stream.listen((message) {</div><div class="markdown-block">try {</div><div class="markdown-block">final receivedMessage = Message.fromJson(json.decode(message));</div><div class="markdown-block">final updatedMessage = receivedMessage.copyWith(messageState: MessageState.sent);</div><div class="markdown-block">final response = json.encode(updatedMessage.toJson());</div><div class="markdown-block">for (final c in channels) {</div><div class="markdown-block">c.sink.add(response);</div><div class="markdown-block">}</div><div class="markdown-block">} catch (e) {</div><div class="markdown-block">debugPrint('Error while handling incoming message in socket: ');</div><div class="markdown-block">}</div><div class="markdown-block">}, onDone: () =&gt; c</div>
Answer
Avatar
0
triandn Beginner
triandn Beginner
Deploy websocket lên server ubuntu
<div class="markdown-block">Chào anh Dũng, lại là em đây.Sau khi test được socket dưới local thì em có deploy lên ubuntu server. Nhưng khi em test lại thì nó bị lỗi như trong ảnh. Em có thử đổi port khác nhau nhưng vẫn không được. Đây là ảnh em config host và port, em sử dụng netty socket:!z4415641026376_d341b6ae2134042f7e8194a78b1fc3c4.jpgĐây là lỗi trên postman!z4415630979611_c07a88711a0aa2a67129fc2f62f5ad04.jpgAnh Dũng giúp em hướng giải quyết vấn đề này với ạ</div>
Answer
Avatar
0
triandn Beginner
triandn Beginner
Websocket
<div class="markdown-block">Chào anh, em có config websocket theo hướng dẫn anh gửi ở câu hỏi trước: Đây là code config websocket: !socket.jpgĐây là lỗi khi em connect từ postman, em có thử đổi port nhưng vẫn không connect được:!postman_test_socket.jpgAnh Dũng cho em hỏi trường hợp này thì mình nên sửa đổi như thế nào ạ!</div>
Answer
Avatar
0
triandn Beginner
triandn Beginner
Chat Room Realtime
<div class="markdown-block">Chào mọi người, hiện tại em đang muốn làm chat realtime sử dụng java spring boot và lưu trữ nội dung tin nhắn ở DB Mọi người có thể cho em xin 1 vài nguồn tham khảo, có project github thì càng tốt ạ Em cảm ơn!</div>
Answer
Avatar
1
tvd12 Enlightened
tvd12 Enlightened
Tại sao cần hạn chế sử dụng đến socket?
<div class="markdown-block">Tại sao cần hạn chế sử dụng đến socket?</div>
Answer
Avatar
0
Nguyễn Thái Sơn Professional
Nguyễn Thái Sơn Professional
có nên chuyển từ HTTP -&gt; Socket
Answer
Avatar
0
Nguyễn Hữu Cường Beginner
Chat thời gian thực
Answer
Avatar
0
Nguyễn Thái Sơn Professional
Nguyễn Thái Sơn Professional
Websocket, Socket, Long Pooling, server event
Answer