Help with university assignment

So, we are supposed to create an xml-rpc based event manager using 2-3
programming languages. C#, Java, Ruby.

I opted for ruby(i did this course last year but the dropped out).
So, this time i am really trying.
The code is not the actual problem for me.

It is the testing.

Right now i am attempting this: my usual machine(windows 7), and a
virtual machine running windows xp.

in both there is the same program:

require "xmlrpc/server"
require "xmlrpc/client"
eventCounter=0
t1=Thread.new{
s = XMLRPC::Server.new(8080)

s.add_handler("add") do|id,date,time,duration,header,comment|
  eventCounter=eventCounter+1
  File.open("#{id}"+".event", 'w') {|f| f.write("#{date}| #{time}|
#{duration}| #{header}| #{comment}") }

end

s.add_handler("delete")do |id|
  File.delete("#{id}"+".event")
end
s.set_default_handler do |name, *args|
  raise XMLRPC::FaultException.new(-99, "Method #{name} missing" +
                                   " or wrong number of parameters!")
end

s.serve
}
t2=Thread.new{
  server = XMLRPC::Client.new("127.0.0.1", "/RPC2", 8080)
  begin
      puts "Press 1 to add an event\n"
      puts "Press 2 to remove an event of given ID\n"
      whatToDo=gets.to_i

    while whatToDo!="-1"
      puts "Press 1 to add an event\n"
      puts "Press 2 to remove an event of given ID\n"
      whatToDo=gets.to_i

      case whatToDo
        when 1

        server.call("add",eventCounter,"03/10/2011","sadkfdsa","not
long","some header","some comment")
        when 2
        puts "Input ID to delete\n"
        id=gets.to_i

        server.call("delete",id)
        else
        puts "Please input 1 or 2"

      end
      #server.call("delete","2") Delete example

    end
  end

}
t2.join

One one computer i am running port 8080, on the other 8090 for the
xmlrpc::server.new

I was also wondering, which ip do i have to write? i tried 127.0.0.1 but
that ofcourse executes locally.
I tried 192.168.0.7 and .8 depending on the machines(their
corresponding ip for the router).

I also tried my web ip, but ofc that is the same for both machines cos
i'm behind 1 router.

Can some1 please help me in this part? If i get past this, i can test my
code everytime i plan something. This ofcourse means i can do my
assignment.

Ofcourse i opened the ports 8080 and 8090 in my router.

I have also attempted running the example code for xmlrpc server and
client.
require "xmlrpc/server"

s = XMLRPC::Server.new(8080)

s.add_handler("michael.add") do |a,b|
  a + b
end

s.add_handler("michael.div") do |a,b|
  if b == 0
    raise XMLRPC::FaultException.new(1, "division by zero")
  else
    a / b
  end
end

s.set_default_handler do |name, *args|
  raise XMLRPC::FaultException.new(-99, "Method #{name} missing" +
                                   " or wrong number of parameters!")
end

s.serve

require "xmlrpc/client"

server = XMLRPC::Client.new("www.ruby-lang.org", "/RPC2", 8080)
begin
  param = server.call("michael.add", 4, 5)
  puts "4 + 5 = #{param}"
rescue XMLRPC::FaultException => e
  puts "Error:"
  puts e.faultCode
  puts e.faultString
end

I really have no idea what i am doing wrong. And i do understand it isnt
really a ruby question, but i really have no idea where i could ask a
question like this

If somebody can solve this, then cyber beer is yours forever :slight_smile:

Regards, Nikita

···

--
Posted via http://www.ruby-forum.com/.

My Arch Linux VM:

08:42:45-phgaw@lee:/home/phgaw
$ hostname
lee
08:42:50-phgaw@lee:/home/phgaw
$ ifconfig
eth0 Link encap:Ethernet HWaddr 00:0C:29:3B:93:1E
          inet addr:192.168.133.128 Bcast:192.168.133.255 Mask:255.255.255.0
          inet6 addr: fe80::20c:29ff:fe3b:931e/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
          RX packets:46481 errors:0 dropped:0 overruns:0 frame:0
          TX packets:32846 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:37169553 (35.4 Mb) TX bytes:4967809 (4.7 Mb)
          Interrupt:19 Base address:0x2024

Pinging lee from Grant:
PS C:\> ping lee

Pinging lee [192.168.133.128] with 32 bytes of data:
Reply from 192.168.133.128: bytes=32 time<1ms TTL=64
Reply from 192.168.133.128: bytes=32 time<1ms TTL=64
Reply from 192.168.133.128: bytes=32 time<1ms TTL=64
Reply from 192.168.133.128: bytes=32 time<1ms TTL=64

Ping statistics for 192.168.133.128:
    Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
    Minimum = 0ms, Maximum = 0ms, Average = 0ms

Networking mode is set to: NAT, with VMware Player taking care of DHCP
for the VMs.

The best place to ask is the fora for the virtualization solution you are using.

···

On Tue, Oct 4, 2011 at 8:37 AM, Nikita Kuznetsov <moog_master@hotmail.com> wrote:

I was also wondering, which ip do i have to write? i tried 127.0.0.1 but
that ofcourse executes locally.
I tried 192.168.0.7 and .8 depending on the machines(their
corresponding ip for the router).

I also tried my web ip, but ofc that is the same for both machines cos
i'm behind 1 router.

Can some1 please help me in this part? If i get past this, i can test my
code everytime i plan something. This ofcourse means i can do my
assignment.

--
Phillip Gawlowski

gplus.to/phgaw | twitter.com/phgaw

A method of solution is perfect if we can forsee from the start,
and even prove, that following that method we shall attain our aim.
-- Leibniz

i figured out the problem. I was doing server.new(8080) and i should
have been doing server.new(8080,"192.168.0.x") after that, it was all
fine. It worked through a VM, through my WLAN at home, i will soon test
it over the net. But yea, thanks for the time spent anyway guys, i got
it all figured out now. Assignement is almost finished.

···

--
Posted via http://www.ruby-forum.com/.

What software are you using for your virtual machine? it sounds like a
network configuration issue. If you use VirtualBox, just configure a
bridged connection and forward the ports properly from your host
machine to your virtual machine.

- Xavier

···

On Mon, Oct 3, 2011 at 11:47 PM, Phillip Gawlowski <cmdjackryan@gmail.com> wrote:

On Tue, Oct 4, 2011 at 8:37 AM, Nikita Kuznetsov > <moog_master@hotmail.com> wrote:

I was also wondering, which ip do i have to write? i tried 127.0.0.1 but
that ofcourse executes locally.
I tried 192.168.0.7 and .8 depending on the machines(their
corresponding ip for the router).

I also tried my web ip, but ofc that is the same for both machines cos
i'm behind 1 router.

Can some1 please help me in this part? If i get past this, i can test my
code everytime i plan something. This ofcourse means i can do my
assignment.

My Arch Linux VM:

08:42:45-phgaw@lee:/home/phgaw
$ hostname
lee
08:42:50-phgaw@lee:/home/phgaw
$ ifconfig
eth0 Link encap:Ethernet HWaddr 00:0C:29:3B:93:1E
inet addr:192.168.133.128 Bcast:192.168.133.255 Mask:255.255.255.0
inet6 addr: fe80::20c:29ff:fe3b:931e/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:46481 errors:0 dropped:0 overruns:0 frame:0
TX packets:32846 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:37169553 (35.4 Mb) TX bytes:4967809 (4.7 Mb)
Interrupt:19 Base address:0x2024

Pinging lee from Grant:
PS C:\> ping lee

Pinging lee [192.168.133.128] with 32 bytes of data:
Reply from 192.168.133.128: bytes=32 time<1ms TTL=64
Reply from 192.168.133.128: bytes=32 time<1ms TTL=64
Reply from 192.168.133.128: bytes=32 time<1ms TTL=64
Reply from 192.168.133.128: bytes=32 time<1ms TTL=64

Ping statistics for 192.168.133.128:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 0ms, Maximum = 0ms, Average = 0ms

Networking mode is set to: NAT, with VMware Player taking care of DHCP
for the VMs.

The best place to ask is the fora for the virtualization solution you are using.

--
Phillip Gawlowski

gplus.to/phgaw | twitter.com/phgaw

A method of solution is perfect if we can forsee from the start,
and even prove, that following that method we shall attain our aim.
-- Leibniz