复杂的Ruby web service
发布时间:2020-12-17 04:10:09 所属栏目:百科 来源:网络整理
导读:今天PHP站长网 52php.cn把收集自互联网的代码分享给大家,仅供参考。 require 'socket'server = TCPServer.open(2000) # Listen on port 2000sockets = [server] # An array of sockets we'll monitorlog = STDOUT # Send
以下代码由PHP站长网 52php.cn收集自互联网 现在PHP站长网小编把它分享给大家,仅供参考 require 'socket' server = TCPServer.open(2000) # Listen on port 2000 sockets = [server] # An array of sockets we'll monitor log = STDOUT # Send log messages to standard out while true # Servers loop forever ready = select(sockets) # Wait for a socket to be ready readable = ready[0] # These sockets are readable readable.each do |socket| # Loop through readable sockets if socket == server # If the server socket is ready client = server.accept # Accept a new client sockets << client # Add it to the set of sockets # Tell the client what and where it has connected. client.puts "Reversal service v0.01 running on #{Socket.gethostname}" # And log the fact that the client connected log.puts "Accepted connection from #{client.peeraddr[2]}" else # Otherwise,a client is ready input = socket.gets # Read input from the client # If no input,the client has disconnected if !input log.puts "Client on #{socket.peeraddr[2]} disconnected." sockets.delete(socket) # Stop monitoring this socket socket.close # Close it next # And go on to the next end input.chop! # Trim client's input if (input == "quit") # If the client asks to quit socket.puts("Bye!"); # Say goodbye log.puts "Closing connection to #{socket.peeraddr[2]}" sockets.delete(socket) # Stop monitoring the socket socket.close # Terminate the session else # Otherwise,client is not quitting socket.puts(input.reverse) # So reverse input and send it back end end end end 以上内容由PHP站长网【52php.cn】收集整理供大家参考研究 如果以上内容对您有帮助,欢迎收藏、点赞、推荐、分享。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |