Tôi đang xem SignalR cho một dự án tôi đang làm việc trên, và nó có vẻ là chính xác những gì tôi muốn. Tuy nhiên một chút mà tôi vẫn còn một chút bối rối bởi là các nhóm và tham gia.SignalR and Joining Groups
Tôi sẽ cố gắng mô tả bối cảnh triển khai trước tiên. Vì vậy, một người dùng trong một hệ thống hiện có sẽ muốn tổ chức một cuộc họp về một chủ đề cụ thể và sau đó sẽ tạo một căn phòng với một tên/mã định danh cụ thể, sau đó họ sẽ mời người khác vào nó và về cơ bản sẽ giống như một phòng chat riêng. Vì vậy, các bước tôi giả định sẽ là máy chủ, tạo một phòng và tham gia nó, và sau đó gửi lời mời mà sẽ yêu cầu người dùng nhấp vào mà bằng cách nào đó sẽ nói cho máy chủ mà phòng để tham gia vào.
Bây giờ tôi thấy từ tài liệu có phương thức Tham gia và Ngắt kết nối mà bạn có thể móc vào để đưa người nào đó vào nhóm, tuy nhiên có vẻ như Tham gia không có ngữ cảnh liên kết với nó ngoài chuỗi truy vấn. có một chút nhầm lẫn về những gì kích hoạt một Join, như tôi mong đợi nó sẽ là một phương thức được kích hoạt bằng tay trên client truyền qua một số đối tượng cho bối cảnh như những gì để đặt chúng vào, vì bạn có thể có hàng trăm phòng riêng. Vì vậy, làm thế nào để bạn cung cấp cho các phương pháp tham gia một số bối cảnh, và ngắt kết nối một, vì vậy họ biết phòng bạn đang yêu cầu tham gia, như thể nó không được kích hoạt bằng tay như thế nào bạn có thể thiết lập chuỗi truy vấn, và nếu nó được tự kích hoạt tại sao bạn không thể gửi qua một đối tượng tùy chỉnh. tức là
public Task Join()
{
var groupName = Context.QueryString["some-room-identifier"];
return Groups.Add(Context.ConnectionId, groupName);
}
vs
public Task Join(string groupName)
{
return Groups.Add(Context.ConnectionId, groupName);
}
Vì vậy, tôi thiếu một cái gì đó hoặc là có một số cách để cung cấp bối cảnh cho một người dùng tham gia để đặt chúng ở nơi lần đầu tiên phải không?
Cảm ơn tất cả các công cụ hữu ích, tôi sẽ không đặt nó làm câu trả lời cho thời điểm này nhưng sẽ cung cấp cho bạn một phiếu bầu cho tính hữu dụng. Hy vọng nhiều người sẽ kêu vang theo thời gian. – Grofit
Vâng, đó là nội dung mới, khi chúng tôi tìm hiểu, chúng tôi sẽ tinh chỉnh – testpattern
+1. Tôi nghĩ rằng đây là cách duy nhất để đi với cho rằng SignalR không cung cấp một API trả về một tên nhóm được đưa ra một ID kết nối. – GETah