Я прошел этот курс по распределенным системам, у меня проблема в одном из заданий.
Задание :
в основном у нас есть два создателя, которые собираются общаться друг с другом в соответствии с некоторым сценарием. Таким образом, у нас есть один python файл, работающий на двух терминалах, принимающих команды от пользователя. Один из пиров прослушивает сообщения на port1 и ip1 и отправляет сообщения на port2 и ip2. Другой узел делает противоположное (слушайте 2 и отправьте 1). Кроме того, один из пиров выбирается для начала преобразования пользователем, эти перы посылают приветствие другому, и они начинают говорить на основе сценария. В конце один из пэров говорит goodbye
. другое после восстановления этих сообщений отправляет bye
и когда приходит сообщение. он закрывает свои сокеты!
Мои проблемы :
, поэтому я знаком с python, но на самом деле не знаю много о сокетах в нем. Это говорит о том, что у меня есть следующие проблемы:
- Я придумал шаблон для выполнения работы, однако я не знаю, как отправитель и получатель могут открыть два порта для чтения и записи. .
def main():
class sender():
#this class starts the conversation
def __init__(self):
pass
class receiver():
def __init__(self):
pass
#getting input form the user to determine ports,ips and ...
if s == true:
#this process starts the conversation
elif:
#this process should listen for the other one to start
if __name__ == '__main__':
main()
Этот вопрос почти связан с первым! но эта проблема требует нескольких потоков? Я имею в виду открыть две темы с двумя сокетами на каждом процессе! если я прав, как я могу сделать эту операцию? (Я действительно не знаю, как использовать потоки в python!)
, в основном моя проблема заключается в реализации кода, который я думаю.
спасибо за ваше время и помощь