[python] sockety - problem s HTTP spojenim

Tomy novella tomasnovella na gmail.com
Pátek Listopad 16 19:37:37 CET 2007


>Přečti si kdyžtak něco o TCP/IP na úrovni socketů a programování v C a
>dojdeš osvícení

Věroš: nooo ako tak citam o TCP/IP, zamotavam sa do toho hlbsie a
hlbsie a nakoniec zistujem, ze neviem totalne nic ;-) nechapem naco
vymysleli ten model ISO/OSI a naco rozlisuju tolko medzi tolkymi tymi
vrstvami. kazdopadne to osvietenie tak skoro nepride :)

co som sa vsak chcel spytat, je, ze:

- skusam si spravit klienta na telnet, resp. chcem, aby ma to
pripojilo na atlantis.talker.sk problemom vsak je, ze
nefunguje(nedokaze komunikovat) ;( what`s wrong?
-----------------------
import socket, string
clisock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
clisock.connect(('atlantis.talker.sk', 23))

while 1:
    data = clisock.recv(65536) # nechce sa mi to bufferovat ;)
    for riadok in data.split('\r\n'):
        print riadok
    a = raw_input('napis text: ')
    if(a == 'qq'):
        print "ukoncujem spojenie"
        clisock.close()
        exit # ak napisem  'qq' skonci sa mi program
    clisock.send(a)
-----------------------------





2007/11/16, Leos Pol <leos na radiante-corp.com>:
> Uz jsem dlouho lowlevel sockety nepsal, tak doufam, ze nebudu psat blaboly.
> Fce socket.listen neceka na prichozi spojeni, ale rekne systemu, ze chci
> poslouchat na portu, ktery jsem si predtim nabindoval (socket.bind).
> Samotne cekani na prichozi spojeni se dela pomoci socket.accept - tato
> funkce opravdu zastavi beh programu, dokud se nejaky klient nepripoji.
> Jakmile se tak stane, tak se prijme spojeni a vrati se novy socket,
> pomoci ktereho pak probiha komunikace. Z toho plyne, ze dokud nezavolam
> accept, tak se mi prichozi spojeni radi do fronty, ktera je dlouha jak
> urcuje parametr "backlog" v socket.listen. Pokud je fronta plna, tak je
> spojeni okamzite odmitnuto.
>
> Leo
>
> Tomy novella wrote:
> > oka thx za ojasnenie celej veci :)
> > este mi neda spat, ze co robi sock.listen(argument) ? naco je ten
> > argument? listen je asi na cakanie na spojenie s klientom, ale naco
> > ten argument? :) v dokumentacii som to velmi nepochopil :(
> >
> > 2007/11/15, Ondrej Beran <ondrej.beran na gmail.com>:
> >
> >> 2007/11/15, Leos Pol <leos na radiante-corp.com>:
> >>
> >>
> >>> BTW: kdysi davno jsem to taky zkousel a nepodarilo se mi apache donutit,
> >>> aby mi odpovidal v HTTP/1.0
> >>>
> >> Ono to ani nejde, protoze to cislo je treba interpretovat jinak viz
> >> RFC 2616 kapitola 3.1:
> >>
> >>    The HTTP version of an application is the highest HTTP version for
> >>    which the application is at least conditionally compliant.
> >>
> >> A protoze v tom ma hodne lidi zmatek, vznikla dokonce extra
> >> vysvetlujici RFC 2145
> >> "Use and Interpretation of HTTP Version Numbers", kde to v kapitole
> >> 2.3 v podstate jen opakuji:
> >>
> >>    An HTTP server SHOULD send a response version equal to the highest
> >>    version for which the server is at least conditionally compliant, and
> >>    whose major version is less than or equal to the one received in the
> >>    request.  An HTTP server MUST NOT send a version for which it is not
> >>    at least conditionally compliant.
> >>
> >> HTH, Ondrej
> >> _______________________________________________
> >> Python mailing list
> >> Python na py.cz
> >> http://www.py.cz/mailman/listinfo/python
> >>
> >>
> >
> >
> >
>
>
> --
> ----
> Leos Pol
> Team Leader
> Radiante Corp.
>
> If it can be imagined,
> we can implement it
>
> _______________________________________________
> Python mailing list
> Python na py.cz
> http://www.py.cz/mailman/listinfo/python
>


-- 
PS: prosim v mailoch tykat! nie vykat ;)

Tom na sQo
tomasnovella na gmail.com


Další informace o konferenci Python