[Linux-programlama] Python global deÄŸiÅŸken sorunu

---------

New Message Reply About this list Date view Thread view Subject view Author view Attachment view

From: ANIL KARADAÐ (anil.karadag@gmail.com)
Date: Fri 16 Mar 2007 - 20:27:28 EET


if __name__ == '__main__':
    serverhost = '127.0.0.1'
    serverport = 2000
    BUFSIZ = 1024
    addr = (serverhost,serverport)
    if str(sys.argv).find("-s") == -1:
    cs = socket(AF_INET, SOCK_STREAM,0) # create a TCP socket
    cs.connect(addr)
    key=1
    main()
    else:
        serversock = socket(AF_INET, SOCK_STREAM) # create a TCP socket
        serversock.bind(addr)
        serversock.listen(2)
    key=2
    print 'waiting for connection…'
    while 1:
            clientsock, addr = serversock.accept()
        print '…connected from:', addr,clientsock
        main()
    serversock.close()

yukarıdaki kodda tanımlanan cs i global deger olarak main den cağrılan ya da
cağrılmayan fonkiyonlarda kulllabilmekteyim, ancak clientsock u main() tan
cağrılmayan bir yerde kullandığımda "NameError: global name 'clientsock' is
not defined" hatası alıyorum fonksiyonda global clientsock tanımlansada aynı
hatayı almaktayım. cs ile clientsock aarasındaki globallaik farkı nedir?
2.olarak da bunu hatayı almadan clientsock u nasıl kullanabilirim

_______________________________________________
Linux-programlama mailing list
Linux-programlama@liste.linux.org.tr
http://liste.linux.org.tr/mailman/listinfo/linux-programlama


New Message Reply About this list Date view Thread view Subject view Author view Attachment view

---------

Bu arsiv hypermail 2.1.2 tarafindan uretilmistir.