ruby - EventMachine not receiving TCP data on localhost -
using eventmachine gem trying send , receive data on localhost. following code of client , server files.
server.rb
class bccserver < em::connection     attr_accessor :server_socket      def post_init         puts "bcc server"     end      def recieve_data(data)         puts "received data: #{data}"             send_data "you sent: #{data}"     end  end  em.run   em.start_server("0.0.0.0", 3000, bccserver) end client.rb
class dcclient < eventmachine::connection   def post_init     puts "sending "     send_data "send data"     close_connection_after_writing    end    def receive_data(data)     puts "received #{data.length} bytes"   end    def unbind     puts 'connection lost !'   end end  eventmachine.run   eventmachine::connect("127.0.0.1", 3000, dcclient) end i executed both server , client files in separate console. following output of client
client output
sending  connection lost ! server output
bcc server ............>>>10 in server file have printed data received showing "............>>>10". doing mistake?
thanks
if @ em::connection implementation
https://github.com/eventmachine/eventmachine/blob/master/lib/em/connection.rb
def receive_data data   puts "............>>>#{data.length}" end method receive_data returns experiencing. means original method gets called , not yours. means 1 thing. have typo in method tried override :)
in bccserver have
recieve_data(data) instead of
receive_data(data) 
Comments
Post a Comment