From 9112764d6a8eb7692f294c4a8d2025127dc9a802 Mon Sep 17 00:00:00 2001 From: set Date: Sat, 14 Mar 2026 19:42:16 +0200 Subject: [PATCH] =?UTF-8?q?SDP=20Answer=20=D1=81=D0=BE=D0=B3=D0=BB=D0=B0?= =?UTF-8?q?=D1=81=D0=BD=D0=BE=20=D0=BF=D1=80=D0=BE=D1=82=D0=BE=D0=BA=D0=BE?= =?UTF-8?q?=D0=BB=D1=83=20g365sfu?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- socket/socket.go | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/socket/socket.go b/socket/socket.go index dc4f362..9bdc459 100644 --- a/socket/socket.go +++ b/socket/socket.go @@ -137,11 +137,24 @@ func processData(data <-chan []byte, connection *connection.Connection) { logger.LogWarnMessage("failed to unmarshal offer from peer " + peerID + " in room " + roomID + ": " + err.Error()) continue } - _, err = sfu.JoinWithOffer(roomID, peerID, offer) + answer, err := sfu.JoinWithOffer(roomID, peerID, offer) if err != nil { logger.LogWarnMessage("failed to join peer " + peerID + " to room " + roomID + ": " + err.Error()) continue } + answerBytes, _ := json.Marshal(answer) + // Подготовка ответа для клиента с SDP answer + response := bytebuffer.Allocate(1 + 4 + len([]byte(roomID)) + 4 + len([]byte(peerID)) + 4 + len(answerBytes)) + response.Put(0x05) + response.PutUint32(uint32(len([]byte(roomID)))) + response.PutBytes([]byte(roomID)) + response.PutUint32(uint32(len([]byte(peerID)))) + response.PutBytes([]byte(peerID)) + response.PutUint32(uint32(len(answerBytes))) + response.PutBytes(answerBytes) + response.Flip() + // Отправляем ответ клиенту + connection.Socket.WriteMessage(websocket.BinaryMessage, response.Bytes()) continue } }