Tôi đang cố gắng xây dựng một ứng dụng trò chuyện hoàn toàn bằng Ruby. Đã có similar question được đăng trước đó, nhưng tôi có các truy vấn khác và có liên quan. Tôi đã xem this example (Tương tự như được giới thiệu bởi người đã đăng câu hỏi tương tự trước đó). Mã trong ví dụ này dường như không hoạt động đối với tôi. Khi chạy tập lệnh ruby trên thiết bị đầu cuối và kết nối với url: http://localhost:1234 trong trình duyệt của tôi, tôi vô tình gặp phải thông báo "Chuyển dữ liệu từ máy chủ cục bộ ...".Tạo ứng dụng trò chuyện bằng Ruby
Ở đây 1234 là số cổng được sử dụng trong ví dụ được cung cấp. Tôi không thể tìm ra lý do đằng sau việc chạy không thành công của tôi là gì. Có thể tôi cần phải xác định một cái gì đó trong dòng lệnh trong khi thực hiện kịch bản hoặc tôi có nghĩa vụ phải bắt đầu trò chuyện (đầu ra đầu vào) thông qua một số nơi khác (có thể là trình duyệt). Tôi không thể tìm ra chính xác những gì cần làm. Bạn có thể vui lòng giúp tôi về điều này?
Tôi đang chạy mã máy chủ trò chuyện khá nhiều chưa được sửa đổi. Tôi đang chạy dịch vụ web và máy chủ trò chuyện trên cùng một máy chủ.
Tôi đã có thể nhận được mã một phần làm việc cho tôi tối đa điểm bắt đầu vòng lặp. Mã đã sửa đổi làm việc cho tôi tối đa một điểm nhất định được đưa ra dưới đây.
require 'gserver'
class BasicServer < GServer
def initialize(*args)
super(*args)
# Keep an overall record of the client IDs allocated
# and the lines of chat
@@client_id = 0
@@chat = []
end
def serve(io)
# io.puts("Hello world!")
# Increment the client ID so each client gets a unique ID
@@client_id += 1
my_client_id = @@client_id
my_position = @@chat.size
# io.puts(@@chat.size)
# Give the total number of people who are currently on chat.. for e.g. 0 => 1 person on chat
# Leave a message on the chat queue to signify this client
# has joined the chat
@@chat << [my_client_id, ""]
# io.puts(@@chat)
end
end
server = BasicServer.new(1234)
server.start
#sleep 120
#server.shutdown
Đối với mỗi trường hợp trình duyệt một khách hàng mới được kết nối với hàng đợi trò chuyện (họ có id khách hàng duy nhất để nhận dạng chúng). Tôi muốn sử dụng lại mã trong ví dụ bằng cách thêm một hộp văn bản (một cái gì đó tương tự như những gì chúng tôi sử dụng trong html) cho (các) trình duyệt đang chạy trong đó người dùng có thể nhập thông điệp của họ và đăng nó bằng cách sử dụng cú nhấp chuột một nút (cũng được tích hợp trong trình duyệt). Điều này phản ánh trong tất cả các phiên bản trình duyệt khác của các khách hàng khác nhau và cuộc trò chuyện diễn ra như thế này cho đến khi người dùng nhập chuỗi "bỏ" để rời khỏi phòng trò chuyện.
Tôi không chắc chắn cách triển khai tính năng trên cũng như vậy trong Ruby, mọi đề xuất hoặc bài viết liên quan cần tham khảo sẽ thực sự hữu ích.
Cảm ơn rất nhiều !!
Xin chào .. cảm ơn vì đã kiên nhẫn và cũng cảm ơn bạn đã trả lời .. !!. Tôi nhận ra sau một thời gian mà tôi đã thực sự thực hiện một máy chủ tcp và không phải là một máy chủ web vì vậy tôi sẽ không thể thực sự có được whats mong muốn. – boddhisattva
Đây là những gì tôi có thể xây dựng dưới dạng Ứng dụng Trò chuyện: - http://boddhisattvadedicates.blogspot.in/2011/08/chat-application-using-ruby.html – boddhisattva