Мне хотелось работать над навыками сетевого программирования, многопоточности и ООП.Я столкнулся с проблемой, хотя.У меня есть класс с именем IRC и класс с именем Pong.Я хочу использовать IRC для таких вещей, как подключение к серверу, отправка сообщений и т. Д. Я хочу использовать Понг в качестве потока в фоновом режиме, который проверяет наличие сообщения, содержащего «PING».
class IRC:
def Connect(self):
try:
HOST = sys.argv[1]
PORT = sys.argv[2]
except IndexError:
print "Usage: "+sys.argv[0]+" [server] [port]\n"
sys.exit(1)
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect((HOST, PORT))
class Pong(threading.Thread):
def Pong(self):
while 1:
IRC.s.send("Test") # IRC has no attribute 's'
СохранитьПомните, что приведенный выше код упрощен и предназначен только для целей тестирования. Мой вопрос заключается в том, как использовать переменные в одном классе из другого класса.Переменная s
объявлена и определена в IRC, но необходима и в Pong.Интерпретатор жалуется, что у класса IRC нет атрибута 's (я сначала попытался вызвать Connect () с переменной примера, чтобы проверить, работает ли он, но не работает).
Как мне решить эту проблему?Я новичок, когда дело доходит до потоков и ориентации объектов.
Заранее спасибо!