🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: pl.comp.lang.ruby
6 messages
6 total messages Started by Daniel Podlejski Tue, 01 Apr 2008 16:28
Re: Niebuforowane wejście
#1020
Author: Daniel Podlejski
Date: Tue, 01 Apr 2008 16:28
14 lines
1326 bytes
>  Jednak chciałem dodać pare nowych funkcji w których przykładowo skrypt
>  reaguje na daną sekunde. Chodzi o to, żę instrukcja $line =
>  sock.readline.chomp czeka aż dostanie odpowiedz z serwera. Czy
>  istnieje sposób aby pobrać dane z serwera irc jednak nie czekając na
>  odpowiedź, jeśli nie ma żadnej odpowiedzi wykonywane są dalsze
>  instrukcje pętli.

Tak. Hint: select

Warto też przejrzeć to:
http://www.scribd.com/doc/134860/Sockets-Programming-in-Ruby

-- 
Daniel Podlejski
Re: Niebuforowane wejście
#1021
Author: instax
Date: Tue, 01 Apr 2008 17:40
19 lines
2030 bytes
On 1 Kwi, 18:28, Daniel Podlejski <under...@underley.eu.org> wrote:
> >  Jednak chciałem dodać pare nowych funkcji w których przykładowo skrypt
> >  reaguje na daną sekunde. Chodzi o to, żę instrukcja $line =
> >  sock.readline.chomp czeka aż dostanie odpowiedz z serwera. Czy
> >  istnieje sposób aby pobrać dane z serwera irc jednak nie czekając na
> >  odpowiedź, jeśli nie ma żadnej odpowiedzi wykonywane są dalsze
> >  instrukcje pętli.
>
> Tak. Hint: select
>
> Warto też przejrzeć to:http://www.scribd.com/doc/134860/Sockets-Programming-in-Ruby
>
> --
> Daniel Podlejski

Proboje z tym selectem ale nadal nic. Jeśli mogłbym prosić o
edytowanie źródła na którym bazuje tak aby zadziałało jak się należy.
http://www.extpaste.com/#600
Z góry dziekuje za pomoc.
Re: Niebuforowane wejście
#1022
Author: Daniel Podlejski
Date: Tue, 01 Apr 2008 18:57
32 lines
1816 bytes
>  Proboje z tym selectem ale nadal nic.

Poczytaj jak to działa, a potem pisz kod - masz braki w teorii.

>  Jeśli mogłbym prosić o
>  edytowanie źródła na którym bazuje tak aby zadziałało jak się należy.
>  http://www.extpaste.com/#600
>  Z góry dziekuje za pomoc.

Ryby nie dostaniesz. Masz tu dodatek do wędki:

irb(main):001:0> require 'socket'
=> true
irb(main):002:0> s = TCPSocket::new( "127.0.0.1", 25 )
=> #<TCPSocket:0xb7cdc168>
irb(main):003:0> IO.select([s], nil, nil, 2)
=> [[#<TCPSocket:0xb7cdc168>], [], []]
irb(main):004:0> s.readline
=> "220 uriel.lft.pl ESMTP Postfix (Debian/GNU)\r\n"
irb(main):005:0> IO.select([s], nil, nil, 2)
[2 sekundy czekania]
=> nil
irb(main):006:0> IO.select([s], nil, nil, 3)
[3 sekundy czekania]
=> nil
irb(main):007:0> IO.select([s], nil, nil, 4)
[4 sekundy czekania]
=> nil


-- 
Daniel Podlejski
Re: Niebuforowane wejście
#1023
Author: Daniel Podlejski
Date: Tue, 01 Apr 2008 18:58
32 lines
1859 bytes
>  Proboje z tym selectem ale nadal nic.

Poczytaj jak to działa, a potem pisz kod - masz braki w teorii.

>  Jeśli mogłbym prosić o
>  edytowanie źródła na którym bazuje tak aby zadziałało jak się należy.
>  http://www.extpaste.com/#600
>  Z góry dziekuje za pomoc.

Ryby nie dostaniesz. Masz tu dodatek do wędki:

irb(main):001:0> require 'socket'
=> true
irb(main):002:0> s = TCPSocket::new( "127.0.0.1", 25 )
=> #<TCPSocket:0xb7cdc168>
irb(main):003:0> IO.select([s], nil, nil, 2)
=> [[#<TCPSocket:0xb7cdc168>], [], []]
irb(main):004:0> s.readline
=> "220 xxxxx.xxx.xx ESMTP Postfix (Debian/GNU)\r\n"
irb(main):005:0> IO.select([s], nil, nil, 2)
[2 sekundy czekania]
=> nil
irb(main):006:0> IO.select([s], nil, nil, 3)
[3 sekundy czekania]
=> nil
irb(main):007:0> IO.select([s], nil, nil, 4)
[4 sekundy czekania]
=> nil


-- 
Daniel Podlejski
Re: Niebuforowane wejście
#1024
Author: instax
Date: Tue, 01 Apr 2008 20:17
47 lines
2961 bytes
On 1 Kwi, 20:58, Daniel Podlejski <under...@underley.eu.org> wrote:
> >  Proboje z tym selectem ale nadal nic.
>
> Poczytaj jak to działa, a potem pisz kod - masz braki w teorii.
>
> >  Jeśli mogłbym prosić o
> >  edytowanie źródła na którym bazuje tak aby zadziałało jak się należy.
> >  http://www.extpaste.com/#600
> >  Z góry dziekuje za pomoc.
>
> Ryby nie dostaniesz. Masz tu dodatek do wędki:
>
> irb(main):001:0> require 'socket'
> => true
> irb(main):002:0> s = TCPSocket::new( "127.0.0.1", 25 )
> => #<TCPSocket:0xb7cdc168>
> irb(main):003:0> IO.select([s], nil, nil, 2)
> => [[#<TCPSocket:0xb7cdc168>], [], []]
> irb(main):004:0> s.readline
> => "220 xxxxx.xxx.xx ESMTP Postfix (Debian/GNU)\r\n"
> irb(main):005:0> IO.select([s], nil, nil, 2)
> [2 sekundy czekania]
> => nil
> irb(main):006:0> IO.select([s], nil, nil, 3)
> [3 sekundy czekania]
> => nil
> irb(main):007:0> IO.select([s], nil, nil, 4)
> [4 sekundy czekania]
> => nil
>
> --
> Daniel Podlejski

Dodatek niesamowicie mi pomógł. Co sekunde dostaje aktualny czas oraz
rówonegle odbieram wiadomości z serwera. Świetnie :) Ale jest kolejny
problem. Teraz przy próbie połączenie się z serwerem irc dostaje
nastepujące komunikaty:

NOTICE AUTH :*** No ident response
NOTICE AUTH :*** Couldn't look up your hostname

Komunikat ten pojawia się tylko przy tej poprawionej wersji. Niżej
zamieszczam dwa linki:
1) Niebuforowane wejście jednak łączy z serverem:
http://www.extpaste.com/#600
2) Wejscie buforowane jednak problemy z wejściem opisane wyżej:
http://www.extpaste.com/#609
Re: Niebuforowane wejście
#1025
Author: instax
Date: Wed, 02 Apr 2008 06:37
54 lines
3340 bytes
On 1 Kwi, 22:17, ins...@gmail.com wrote:
> On 1 Kwi, 20:58, Daniel Podlejski <under...@underley.eu.org> wrote:
>
>
>
> > >  Proboje z tym selectem ale nadal nic.
>
> > Poczytaj jak to działa, a potem pisz kod - masz braki w teorii.
>
> > >  Jeśli mogłbym prosić o
> > >  edytowanie źródła na którym bazuje tak aby zadziałało jak się należy.
> > >  http://www.extpaste.com/#600
> > >  Z góry dziekuje za pomoc.
>
> > Ryby nie dostaniesz. Masz tu dodatek do wędki:
>
> > irb(main):001:0> require 'socket'
> > => true
> > irb(main):002:0> s = TCPSocket::new( "127.0.0.1", 25 )
> > => #<TCPSocket:0xb7cdc168>
> > irb(main):003:0> IO.select([s], nil, nil, 2)
> > => [[#<TCPSocket:0xb7cdc168>], [], []]
> > irb(main):004:0> s.readline
> > => "220 xxxxx.xxx.xx ESMTP Postfix (Debian/GNU)\r\n"
> > irb(main):005:0> IO.select([s], nil, nil, 2)
> > [2 sekundy czekania]
> > => nil
> > irb(main):006:0> IO.select([s], nil, nil, 3)
> > [3 sekundy czekania]
> > => nil
> > irb(main):007:0> IO.select([s], nil, nil, 4)
> > [4 sekundy czekania]
> > => nil
>
> > --
> > Daniel Podlejski
>
> Dodatek niesamowicie mi pomógł. Co sekunde dostaje aktualny czas oraz
> rówonegle odbieram wiadomości z serwera. Świetnie :) Ale jest kolejny
> problem. Teraz przy próbie połączenie się z serwerem irc dostaje
> nastepujące komunikaty:
>
> NOTICE AUTH :*** No ident response
> NOTICE AUTH :*** Couldn't look up your hostname
>
> Komunikat ten pojawia się tylko przy tej poprawionej wersji. Niżej
> zamieszczam dwa linki:
> 1) Niebuforowane wejście jednak łączy z serverem:http://www.extpaste.com/#600
> 2) Wejscie buforowane jednak problemy z wejściem opisane wyżej:http://www.extpaste.com/#609

Wszysto w porządku zapomniałem dodać obsluge eventów po otrzymaniu
komuniaktu. Dokladnie chodzi o PING na który trzeba odpowiedzieć po
połączeniu z serwerem. Przeprasza za kłopot. Dziękuje za pomoc i
cierpliwość mysle ze teraz pojdzie górki. Pozdro
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads