如何使用套接字成员创建类

时间:2014-04-07 15:06:03

标签: python sockets python-sockets

我创建了以下类,我想在其中包含一个套接字成员,然后想要使用成员函数来连接,关闭,发送和接收。

class Connection:
  Kon = ""
  SSLx = ""
  def Close(self):
    try:
      self.Kon.close()
      return True
    except:
      return False

  def Send(self,Message):
    try:
      self.Kon.write(Message)
      return True
    except Exception,e:
      print e
      return False


  def Recieve(self):
    try:
      Response = self.Kon.recv(10240)
      return Response
    except:
      return False

#Conenct Function Makes a SSL connection with the node
  def Connect(self,Link):
    self.SSLx = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    Ip = Link[0].replace("'",'')
    print Ip
    Port = int(Link[1])
    try:
      self.SSLx.connect((Ip,Port))
      return True
    except Exception,e:
      print "Connection Attempt Failed"
      self.Kon = socket.ssl(SSLx)
      return False

我成功运行了.Connect功能,但在此之后,当我尝试使用发送功能时,它说' str' object没有写成员。

关于如何完成这项工作的任何想法?

1 个答案:

答案 0 :(得分:0)

我所做的调试过程似乎出现了一个小错误,我已经将其中一行初始化Kon变量下面几行。以下是更正后的课程。

 class Connection:
  Kon = ""
  SSLx = ""
  def Close(self):
    try:
      self.Kon.close()
      return True
    except:
      return False

  def Send(self,Message):
    try:
      self.Kon.write(Message)
      return True
    except Exception,e:
      return False


  def Recieve(self):
    try:
      Response = self.Kon.read(10240)
      return Response
    except Exception,e:
      print e
      return False

#Conenct Function Makes a SSL connection with the node
  def Connect(self,Link):
    self.SSLx = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    Ip = Link[0].replace("'",'')
    print Ip
    Port = int(Link[1])
    try:
      self.SSLx.connect((Ip,Port)) 
      self.Kon = socket.ssl(self.SSLx)
      return True
    except Exception,e:
      print e
      print "Connection Attempt Failed"
      return False