`
icekiller110
  • 浏览: 69331 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

ruby socket通讯

阅读更多
创建server
require 'socket'
include Socket::Constants

socket = Socket.new(AF_INET, SOCK_STREAM, 0)
sockaddr = Socket.sockaddr_in(9999, 'localhost')
socket.bind(sockaddr)
socket.listen(5)
begin
  while 1 do
  	client_socket, client_sockaddr = socket.accept_nonblock
		puts "The command is #{client_socket.readline.chomp}"
		flag = rand(10)
		result = flag % 2 == 0 ? '\{\"status\" = \"false\"\}' : '\{\"status\" = \"true\"\}'
  end
rescue Errno::EAGAIN, Errno::ECONNABORTED, Errno::EPROTO, Errno::EINTR
	IO.select([socket])
	retry
end


创建client
require 'socket'
client = TCPSocket.open('localhost', '9999')
client.send("oracle\n", 0) # 0 means standard packet
client.close

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics