If string = "mike" then print "Hi mike"


#1

server/client connection
so, im only a few days into ruby, im working on some tcp and there is a
problem with my client.rb… if str == ??? this if statement is always
skipped and im not sure why?

also, from the server with the gets command i want to send the client a
string like “mike skateboard boxing” then when the client recives this
string how can i brake this into 3 arrays or strings?

#server.rb
require “socket”
dts = TCPServer.new(‘localhost’, 1234)
loop do
Thread.start(dts.accept) do |s|
print(s, " is accepted\n")
#gets, what command to send to the client?
str = gets
s.write(str)
print(s, " is gone\n")
s.close
end
end
------------end of server-------------

#client.rb
require ‘socket’
while true
streamSock = TCPSocket.new( “127.0.0.1”, 1234 )
str = streamSock.recv( 100 )
print str

if str == ‘mike’
print ‘Hi mike’
elsif str == ‘user’
print ‘hi user’
end
end

--------end of client


#2

Hi,

At Wed, 6 May 2009 10:43:23 +0900,
Bigmac T. wrote in [ruby-talk:335871]:

so, im only a few days into ruby, im working on some tcp and there is a
problem with my client.rb… if str == ??? this if statement is always
skipped and im not sure why?

#gets method returns a string with a newline if you ended the
input with enter. You can chomp it or use double Ctrl-D
instead of enter.


#3

I’ve gotten into the habit of using gets.chomp when reading input of
any kind. It’s so easy to forget that newlines are still on there.


#4

Nobuyoshi N. wrote:

Hi,

At Wed, 6 May 2009 10:43:23 +0900,
Bigmac T. wrote in [ruby-talk:335871]:

so, im only a few days into ruby, im working on some tcp and there is a
problem with my client.rb… if str == ??? this if statement is always
skipped and im not sure why?

#gets method returns a string with a newline if you ended the
input with enter. You can chomp it or use double Ctrl-D
instead of enter.

Oh, wow… a bit confused at first but then i googled ruby chomp and
then it made sence, when you press enter \n

if string.chomp == “mike”
print “hello mike\n”
system(“calc.exe”)

how can i execute calc.exe and continue with the script well calc is

still running???


#5

Hi,

2009/5/6 Bigmac T. removed_email_address@domain.invalid:

input with enter. Â You can chomp it or use double Ctrl-D
still running???

Try
system(“start calc.exe”)

Regards,
Park H.