Sadece Ruby kullanarak bir sohbet uygulaması oluşturmaya çalışıyorum. Daha önce yayınlanan bir similar question var, ancak farklı ve ilgili sorgularım var. this example'a baktım (Daha önce benzer bir soru gönderen kişi tarafından belirtildiği gibi). Örnekdeki kod benim için çalışmıyor gibi görünüyor. Terminalde ruby komut dosyasını çalıştırıp tarayıcımın URL'sini: http://localhost:1234'a bağlarken, "localhost ... 'dan veri aktarımı" mesajıyla sonsuza dek karşılaşıyorum.Ruby'yi kullanarak bir Sohbet uygulaması oluşturma
Burada 1234, sağlanan örnekte kullanılan bağlantı noktası numarasıdır. Başarısız çalışmamın ardındaki nedenin ne olduğunu anlayamıyorum. Komut satırında komut dosyası yürütülürken bir şey belirtmem gerekebilir veya başka bir yer (muhtemelen tarayıcı) aracılığıyla sohbeti (giriş çıkışı) başlatmam gerekiyor. Tam olarak ne yapacağımı anlayamıyorum. Bu konuda bana yardımcı olabilir misiniz?
Sohbet sunucusu kodunu hemen hemen değiştirilmemiş olarak çalıştırıyorum. Web servisini ve sohbet sunucusunu aynı ana bilgisayarda çalıştırıyorum.
Döngünün başladığı noktaya kadar benim için çalışan kodu kısmen elde edebildim. Benim için belirli bir noktaya kadar çalışan değiştirilmiş kod aşağıda verilmiştir. Yeni bir müşteri sohbet kuyruğuna bağlanır her tarayıcı Örneğin
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
(onları tanımlamak için benzersiz müşteri kimliklerini var). Örnekte, kullanıcı (lar) ın mesajlarını girebileceği ve tıkladığını kullanarak mesaj gönderebileceği tarayıcı örneğine bir metin kutusu (html'de kullandığımıza benzer bir şey) ekleyerek yeniden kullanmak istedim. Bir düğme (ayrıca tarayıcıya entegre edilmiştir). Bu, çeşitli istemcilerin tüm diğer tarayıcı örneklerinde yansır ve sohbet odası terk etmek için kullanıcılar "quit" dizesini girene kadar sohbet devam eder.
Yukarıdaki özelliği Ruby'de nasıl uygulayacağınızdan emin değilim, önerileri veya ilgili makaleleri gerçekten yararlı olacaktır.
Çok teşekkürler!
Merhaba .. sabırlı olduğunuz için teşekkürler ve ayrıca cevabınız için teşekkür ederiz .. !!. Bir süre sonra aslında bir tcp sunucusu ve bir web sunucusunu gerçekleştirdiğimi fark ettim, böylece istediğim şeyi elde edemedim. – boddhisattva
Bu, Sohbet Uygulaması olarak oluşturabildiğim şey: - http://boddhisattvadedicates.blogspot.in/2011/08/chat-application-using-ruby.html – boddhisattva