В настоящее время я пишу веб-чат-клиент, в котором два человека случайным образом соединяются друг с другом и попадают в чат вместе без каких-либо подсказок.
Я использую библиотеку PeerJS, так как считаю ее наиболее понятной для себя. Однако я нахожусь в затруднительном положении: я не уверен, как на самом деле реализовать текстовый чат.
Я просмотрел их пример на их сайте (здесь) и немного изменил код. работать на меня (в основном, как это выглядит и каковы некоторые результаты).
Проблема, с которой я столкнулся, заключается в том, что их код требует, чтобы два человека ввели идентификатор другого вручную, и чат не запустится без подтверждения обоих людей (это означает, что они оба должны ввести идентификатор и нажать кнопку «Подключиться»).
Ниже приведен код, который я пробежался по голове, пытаясь разобраться:
Сначала я должен прослушать соединение с PeerJS:
myPeer.on("connection", function() {...});
Но в то же время я хочу прослушивать открытие соединения на том же клиенте, так как я не хочу запрашивать у пользователей идентификаторы друг друга:
myConn.on("open", function() {...})
Но это невозможно (насколько мне известно), так как я не могу знать, что будет myConn
, пока не открою соединение с прослушивателем myPeer
выше.
Моя проблема в том, что я не знаю, как сделать это одновременно. Если это вообще поможет, я пытаюсь сделать видеочат вместе с этим, что я все понял, поэтому, если бы я мог каким-то образом использовать это соединение или что-то еще, это тоже сработает. У меня есть полный контроль над проектом, поэтому я могу делать все, что захочу (включая переключение библиотек, если они проще в использовании или более развиты).