Sha256: 15d05af7137e16829f427245a6b09c370149b5b5b416ff3ac61bcaf14cf9df2a

Contents?: true

Size: 1.11 KB

Versions: 6

Compression:

Stored size: 1.11 KB

Contents

require 'socket'
require "uri"

module GameMachine
  module Clients
    class Client

      def initialize(server)
        @host = Settings.servers.send(server).udp_host
        @port = Settings.servers.send(server).udp_port
        @socket = UDPSocket.new
        @socket.connect(@host,@port)
      end

      def send_message(message)
        @socket.send(String.from_java_bytes(message),@host,@port)
      end

      def receive_message
        @socket.recvfrom(1024)[0]
      end

      def self.http_post(path,data)
        uri = URI.parse("http://localhost:8080#{path}")
        response = Net::HTTP.post_form(uri, data)
        response.body
      end

      def self.connect_udt
        address = JavaLib::InetSocketAddress.new(Settings.servers.seed01.udt_host, Settings.servers.seed01.udt_port)
        s = JavaLib::SocketUDT.new(JavaLib::TypeUDT::DATAGRAM)
        s.setBlocking(true)
        s.connect(address)
        s
      end

      def self.send_udt(s,bytes)
        s.send(bytes)
        array = Java::byte[4096].new
        l = s.receive(array)
        JavaLib::Arrays.copy_of_range(array,0,l)
      end
    end
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
game_machine-1.0.4 lib/game_machine/clients/client.rb
game_machine-1.0.2 lib/game_machine/clients/client.rb
game_machine-0.0.11 lib/game_machine/clients/client.rb
game_machine-0.0.10 lib/game_machine/clients/client.rb
game_machine-0.0.9 lib/game_machine/clients/client.rb
game_machine-0.0.8 lib/game_machine/clients/client.rb