Asp Forum
Home
|
Login
|
Register
|
Search
Forums
>
comp.lang.ruby
Simple socketing
Knut Mathiesen
7/12/2006 9:32:00 PM
Hi there, I recently started with Ruby and I am trying to make a very
simple irc bot, but I am having some slight problems though.
This is what I came up with:
require 'socket'
class Irc
def connect(server, port = 6667)
@socket = TCPsocket.new(server, port)
end
def to_server(text)
@socket.gets(text)
return true
end
def from_server()
return @socket.puts
end
end
irc = Irc.new
irc.connect("irc.homelien.no", 6667)
irc.to_server('NICK: testbot')
irc.to_server('USER: testbot "" "irc.efnet.net" :testbot')
go = true
while go == true
if (text = irc.from_server)
puts(text)
end
end
Doesn't work though, I just get the loop.
--
Posted via
http://www.ruby-...
.
1 Answer
Phillip Hutchings
7/12/2006 9:50:00 PM
0
> def to_server(text)
> @socket.gets(text)
> return true
> end
> def from_server()
> return @socket.puts
> end
You've got gets and puts the wrong way around. Read them as Get String
and Put String, gets reads from the socket and puts writes to it.
Also, there's a protocol error there, you want to_server to read like this:
def to_server(text)
@socket.puts(text.to_s+"\r\n") # The line breaks are important, must be CRLF.
end
--
Phillip Hutchings
http://www.sit...
Servizio di avviso nuovi messaggi
Ricevi direttamente nella tua mail i nuovi messaggi per
Simple socketing
Inserendo la tua e-mail nella casella sotto, riceverai un avviso tramite posta elettronica ogni volta che il motore di ricerca troverà un nuovo messaggio per te
Il servizio è completamente GRATUITO!
x
Login to ForumsZone
Login with Google
Login with E-Mail & Password