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

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

···

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

Hi,

At Wed, 6 May 2009 10:43:23 +0900,
Bigmac Turdsplash 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.

···

--
Nobu Nakada

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.

···

On Tue, May 5, 2009 at 10:56 PM, Nobuyoshi Nakada <nobu@ruby-lang.org> wrote:

Hi,

At Wed, 6 May 2009 10:43:23 +0900,
Bigmac Turdsplash 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.

--
Nobu Nakada

Nobuyoshi Nakada wrote:

Hi,

At Wed, 6 May 2009 10:43:23 +0900,
Bigmac Turdsplash 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???

···

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

Hi,

···

2009/5/6 Bigmac Turdsplash <i8igmac@aim.com>:

Nobuyoshi Nakada wrote:

Hi,

At Wed, 6 May 2009 10:43:23 +0900,
Bigmac Turdsplash 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???

Try
system("start calc.exe")

Regards,
Park Heesob