加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

复杂的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】收集整理供大家参考研究

如果以上内容对您有帮助,欢迎收藏、点赞、推荐、分享。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读