cwbe coordinatez:
101
63540
2076399
856608
2118905

ABSOLUT
KYBERIA
permissions
you: r,
system: public
net: yes

neurons

stats|by_visit|by_K
source
tiamat
K|my_K|given_K
last
commanders
polls

total descendants::
total children::1
show[ 2 | 3] flat


preco mi toto nejde ?

mam zadefinovanu triedu mysocket

class mysocket:
def __init__(self, sock=None):
self.sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)

def connect(host, port):
self.sock.connect((host, port))

def mysend(name, msg):
sent = self.sock.send(name+" "+msg+";")
if (sent == 0):
while (sent == 0):
self.sock.connect((host, port))
sent = self.sock.send(name+" "+msg+";")


ale ked ju vytvaram

s = mysocket()

vyhodi my chybu: global name 'self' is not defined

co robim zle ??
a ak ste si vsimli funkcia send je prerobena tak aby ked spadne spojenie, skusila ho opat nadviazat a skusa posielat data az pokial sa to nepodari.. urcite je to ale spravene zle..




000001010006354002076399008566080211890502118946
gnd
 gnd      25.01.2006 - 14:46:25 , level: 1, UP   NEW
vlastne mi tu chybu vyhodi ked volam connect takto:

s.connect((PD, s_port))


00000101000635400207639900856608021189050211894602119069
mr gramma
 mr gramma      25.01.2006 - 15:17:53 (modif: 25.01.2006 - 15:18:56), level: 2, UP   NEW !!CONTENT CHANGED!!
skus:


def connect(self, host, port):
self.sock.connect((host, port))

def mysend(self, name, msg):
sent = self.sock.send(name+" "+msg+";")
if (sent == 0):
while (sent == 0):
self.sock.connect((host, port))
sent = self.sock.send(name+" "+msg+";")


methody, cize bindujes na niaku instanciu triedy, musia ako prvy formalni parameter self, objekt samotny, je to konvecia, a interpreter vie ze sa jedna o metodu.

v priklade je

s.connect((PD, s_port))


je prave to s ten self, tusim ze to idem aj takto


mysocket.connect(s,(PD,s_port))


a dalsi proble co si mislim ze bude pistat je ze:

 def connect(host, port)


ocakava ako argumenty dve nezavisle typi a ne tuple.