Posted By: JayDee (expect the unexpected) on 'CZunix'
Title:     Re: nc - jak je to mozne?
Date:      Thu Nov 30 23:53:08 2006

> Diky za superpromptni odpoved; Ty's ji snad musel zacit psat driv nez ja
> post 
> s dotazem odeslal:-).

Hodina? Zas tak superpromptni to nebylo, to na temnetu obcas odpovidam tesne 
pred otazkou... ;) 

> > strace odhali pred bind:
> > setsockopt(3, SOL_SOCKET, SO_REUSEADDR, [1], 4) = 0
> > (man 7 socket)
> > mozna to bude tim...
> 
> Na zminenou manpage jsem se podival, a jestli ji dobre chapu, tak tohle mi 
> zaridi jen dalsi "divy", ktere jsem tu popisoval (napr. pouziti portu pro 
> odchozi spojeni, ktery je uz zabrany. Ale nikde jsem z toho nevycetl, ze by 
> mi stacilo delat jen connect(2) bez listen(2).Jestli mi neco nedochazi, pak 
> prosim jeste o kousek popostrcit. 

Ted jsi mne tedy ztratil, ale mam tu ten trace pohozeny, tak napastuju celou 
relevantni sekvenci, co ten netcat dela.

socket(PF_INET, SOCK_STREAM, IPPROTO_TCP) = 3
setsockopt(3, SOL_SOCKET, SO_REUSEADDR, [1], 4) = 0
bind(3, {sa_family=AF_INET, sin_port=htons(41001),
     sin_addr=inet_addr("0.0.0.0")}, 16) = 0
connect(3, {sa_family=AF_INET, sin_port=htons(41001), 
        sin_addr=inet_addr("127.0.0.1")}, 16) = 0 
a pak to jede select/read/write v cyklu 

A musim rict, ze se mi to na linuxu chova dost nedeterministicky, obcas 
prohlasi, ze ten port nejde pouzit a nazdar. 

connect(3, {sa_family=AF_INET, sin_port=htons(41001), 
sin_addr=inet_addr("127.0.0.1")}, 16) = -1 EADDRNOTAVAIL (Cannot assign 
requested address) 

> snake

j.d.

Search the boards