Tôi đã phát triển một máy chủ trò chuyện bằng cách sử dụng websocket trong cao bồi, nhưng tôi muốn biết liệu tin nhắn được gửi bởi máy chủ đến thành công của khách hàng. Làm cách nào tôi có thể biết?Làm cách nào để biết thông báo được gửi bằng websocket thành công hay không
Trả lời
Websocket là một lớp trừu tượng khá mỏng trên đỉnh của ổ cắm TCP thông thường. Sau khi bắt tay ban đầu sự khác biệt là tối thiểu. Vì vậy, câu hỏi là: làm thế nào để tôi biết nếu một đoạn dữ liệu đã được nhận bởi các peer từ xa? Câu trả lời ngắn gọn: chỉ khi đồng nghiệp thừa nhận nó một cách rõ ràng bằng các phương thức của giao thức mức ứng dụng. Máy khách từ xa sẽ gửi các gói TCP ACK cho mọi gói dữ liệu bạn sẽ gửi, nhưng thực tế này cũng bị ẩn khỏi ứng dụng vì lý do chính đáng. Nhận gói ACK chỉ có nghĩa là ngăn xếp TCP từ xa đã xử lý nó, nhưng không nói gì về cách (và nếu) ứng dụng khách đã xử lý nó.
Thêm loại thông báo "xác nhận nhận" đặc biệt vào giao thức trò chuyện của bạn. Bao gồm số thứ tự tăng dần đơn điệu trong tất cả các thư gửi đi của bạn và bao gồm SN của thư đã nhận trong thư ACK để biết chính xác lượng dữ liệu mà khách hàng đã xử lý.
- 1. Làm cách nào để gửi thông báo đẩy bằng Erlang?
- 2. Cách tắt thông báo gỡ lỗi bằng văn bản websocket
- 3. Làm cách nào để biết rằng thư của tôi đã được gửi thành công với amqp mùa xuân?
- 4. Xác định xem một websocket gửi() có hoàn thành
- 5. Thông báo IAudioSessionManager2 không được gửi
- 6. Làm cách nào để biết ứng dụng iPhone của tôi có đang chạy khi nhận được Thông báo đẩy không?
- 7. Làm thế nào để biết nếu urllib.urlretrieve thành công?
- 8. Làm cách nào để tôi có thể được thông báo khi công việc dispatch_async hoàn tất?
- 9. Chỉ gửi thông báo Jenkins khi thử nghiệm mới không thành công
- 10. Làm cách nào để biết liệu quy trình ".exe" được viết bằng C++ hay C#?
- 11. Cách hiển thị thông báo thành công JSF
- 12. Làm cách nào để tránh cảnh báo "Thông báo này có thể không được gửi bởi" khi gửi email bằng Google App Engine?
- 13. Làm cách nào để biết liệu dữ liệu trả về của $ .ajax() thành công là html hay json?
- 14. làm thế nào để biết nếu thư php không thành công
- 15. Thông báo Đẩy của Apple không được gửi
- 16. Làm cách nào để biết mã Rails có đang chạy thông qua rake hay script/generate không?
- 17. Làm cách nào để gửi lại yêu cầu ajax không thành công?
- 18. Rails 3.1 Tìm hiểu cách thay đổi thông báo Flash CSS Từ thông báo thành công?
- 19. Làm cách nào để sử dụng C++ để gửi dữ liệu qua websocket?
- 20. Làm thế nào để biết trạng thái cuộc gọi twilio (đã hoàn thành hay không)
- 21. Làm cách nào để biết ma trận homography có được chấp nhận hay không?
- 22. Làm cách nào để nhận được thông báo khi quá trình xây dựng thành công kết thúc?
- 23. Làm thế nào gửi arraybuffer như nhị phân thông qua Websocket?
- 24. Làm cách nào để nhận được thông báo "printf" được viết bằng ứng dụng NDK?
- 25. Cách nhận thông báo khi thông báo được thông báo
- 26. writeToFile không thành công - làm cách nào để gỡ lỗi WHY không thành công (công cụ nào)?
- 27. Làm cách nào để biết ứng dụng đã được tải xuống từ Google Play hay Amazon?
- 28. Lớp thư của Laravel 4, làm cách nào để biết email đã được gửi chưa?
- 29. Làm cách nào để gửi thông tin tới một dịch vụ web bằng C# bằng .NET?
- 30. Làm cách nào để nhận URL chuỗi thông báo khi biết id chuỗi?
Bạn nên quay lại và chọn câu trả lời cho câu hỏi của mình – thedouglenz