Eventmachine client server problem

Hi All

My Server code is
$stderr.sync = $stdout.sync = true
require ‘rubygems’
require ‘eventmachine’

module EchoServer
def receive_data data
puts “Server received: #{data}”
send_data “>>>you sent: #{data}”
puts “Server sent: >>>you sent: #{data}”
(puts “CLOSING”; send_data “quit”; close_connection(true);
EM.stop) if data =~ /quit/i
end
end

EM::run{
EM::start_server “127.0.0.1”, 8100, EchoServer
}

Client code is

$stderr.sync = $stdout.sync = true
require ‘rubygems’
require ‘eventmachine’

class EchoClient < EM::Connection
def receive_data data
puts data
puts “Client Received: #{data}”
(puts “CLOSING”; close_connection(false); EM.stop) if data =~
/quit/i
end
end
cnt=0
EM::run {
emc = EM::connect “127.0.0.1”, 8100, EchoClient
EM.add_periodic_timer(5) do
cnt +=1;
if cnt < 3
emc.send_data “Message: #{cnt}”
else
emc.send_data “quit”
end
end
}

End client code

Server Output is

C:\sandbox\ruby_files>ruby serv2.rb
Server received: Message: 1
Server sent: >>>you sent: Message: 1
Server received: Message: 2
Server sent: >>>you sent: Message: 2
Server received: quit
Server sent: >>>you sent: quit
CLOSING

Client Output is

C:\sandbox\ruby_files>ruby clnt2.rb

you sent: Message: 1
Client Received: >>>you sent: Message: 1

you sent: Message: 2
Client Received: >>>you sent: Message: 2

problem is server shuts down before sending the message.Any Help ?

Thanks

Bala

Bala Murugan wrote:

 send_data ">>>you sent: #{data}"

 (puts "CLOSING"; close_connection(false); EM.stop) if data =~
 else

Server Output is
Client Output is

problem is server shuts down before sending the message.Any Help ?

Thanks

Bala

Maybe try using close_connection(true) or
close_connection_after_writing.

-Justin

No use.it is same even after using close_connection_after_writing or
close_connection(true)