📄 13 - writing an internet server.rb
字号:
#!/usr/bin/ruby -w# chat.rbrequire 'gserver'class ChatServer < GServer def initialize(port=20606, host=GServer::DEFAULT_HOST) @clients = [] super(port, host, Float::MAX, $stderr, true) end def serve(sock) begin @clients << sock hostname = sock.peeraddr[2] || sock.peeraddr[3] @clients.each do |c| c.puts "#{hostname} has joined the chat." unless c == sock end until sock.eof? do message = sock.gets.chomp break if message == "/quit" @clients.each { |c| c.puts "#{hostname}: #{message}" unless c == sock } end ensure @clients.delete(sock) @clients.each { |c| c.puts "#{hostname} has left the chat." } end endendserver = ChatServer.new(*ARGV[0..2] || 20606)server.start(-1)server.join#---def initialize(port, host = DEFAULT_HOST, maxConnections = 4, stdlog = $stderr, audit = false, debug = false)#---
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -