Thư viện lớp mạng [đã đóng]


12

Tôi đang tìm kiếm bất kỳ lớp mạng nào có sẵn để thêm vào trò chơi của mình, miễn phí hoặc với giá hợp lý cho các trò chơi độc lập.

Theo các lớp mạng, ý tôi là một loại thư viện mà tôi có thể giao tiếp, rằng tôi sẽ có thể gửi tin nhắn đến và nhận tin nhắn từ đó và nó sẽ tự xử lý tất cả các thông tin cấp thấp.

Tôi đặc biệt tìm kiếm:

  • Thư viện chất lượng cao hiểu và xử lý những thứ phức tạp như tắc nghẽn mạng.
  • Các thư viện có thể mở rộng, điều đó sẽ cho phép tôi có rất nhiều người chơi cùng chơi.
  • Tốt nhất là một giải pháp ngang hàng, và không phải là một giải pháp dựa trên máy chủ.
  • Tốt nhất là một thư viện có ràng buộc cho các ngôn ngữ cấp cao (như Java hoặc C #).

Một ví dụ về những gì tôi đang tìm kiếm là Grapple , nhưng tôi biết có những thư viện khác có sẵn.


Mặc dù là một chủ đề rất hữu ích, nhưng câu hỏi này có lẽ không phù hợp với định dạng stackexchange, vì nó thực sự yêu cầu so sánh tính năng của các thư viện khác nhau và do đó là một cuộc thảo luận mở.
Cameron Fredman

Câu trả lời:


8

Tôi cảm thấy cần phải thêm ENet vào danh sách này. Cấp, nó không đi kèm với các ràng buộc với các ngôn ngữ khác, nhưng cho rằng nó được viết bằng C, tạo ra các ràng buộc cho nó là tầm thường.

Tôi đã thấy ENet mạnh mẽ, được viết tốt và có thể mở rộng và xử lý trò chơi ngang hàng rất tốt.


5

Chúng tôi đã sử dụng RakNet một thời gian và rất thích nó, và đã nhận được đánh giá tích cực từ các hãng phim khác sử dụng nó. http://www.jenkinssoftware.com/

Điều thú vị ở RakNet là phần lớn nền tảng của nó, vì vậy nếu bạn muốn vào không gian bảng điều khiển, đó là một khả năng tốt.


Tôi thích cách nó miễn phí cho các trò chơi độc lập
Oak

Tôi cũng đã sử dụng RakNet và nó khá hay. Nó không hoàn hảo, nhưng các mẫu rất tốt, bạn có toàn quyền truy cập vào nguồn và giấy phép Indie rất dễ tha thứ.
Logan Kincaid

4

Tôi đã chọn Zoidcom (C ++) vì nó được thiết kế tốt và có tài liệu + ví dụ tuyệt vời:

Thư viện mạng Zoidcom là thư viện mạng dựa trên UDP cấp cao, cung cấp các tính năng để tự động sao chép các trò chơi và đồng bộ hóa trạng thái của chúng qua kết nối mạng theo cách hiệu quả băng thông cao. Điều này đạt được bằng cách ghép kênh và phân tách thông tin đối tượng từ và vào dòng bit, điều này giúp dễ dàng tránh gửi dữ liệu dư thừa. Bools chỉ mất một bit duy nhất, số nguyên và số float được tước xuống bao nhiêu bit nếu cần.

Rất nhiều công việc tẻ nhạt xuất hiện khi cố gắng phát triển giao thức mạng hiệu quả được xử lý bởi Zoidcom, ví dụ như quyết định khi nào gửi dữ liệu nào cho khách hàng nào, làm thế nào để có được hiệu quả và đáng tin cậy qua đường truyền, phải làm gì khi dữ liệu được nhận mất và nhiều hơn nữa.

Một số trò chơi mã nguồn mở được thực hiện bằng Zoidcom:

Giấy phép:

Zoidcom có ​​sẵn miễn phí cho sử dụng phi thương mại và sẽ giữ nguyên như vậy. Giấy phép thương mại và phần mềm chia sẻ có sẵn theo yêu cầu, thông báo giấy phép chính thức sẽ được cung cấp với phiên bản 1.0.


2

Nếu C # không phải là vấn đề, bạn có thể kiểm tra Lidgren . Hiện tại ở thế hệ thứ 3, nó có tính năng (trong số những thứ khác):

  • Giấy phép MIT
  • Ngang ngang hàng (NetClient / NetServer dựa trên NetPeer)
  • Mô phỏng Lag
  • Mã hóa gói
  • Rất hiệu quả (bộ đệm được tái sử dụng cho rác không)
  • Nhà phát triển tích cực và nhanh nhạy!

1

Vì bạn đã đề cập đến Java, tôi khuyên bạn nên xem xét JGN (http://forum.captiveimagination.com/index.php/board,4.0.html), tôi chưa bao giờ thực sự sử dụng nó nhưng tôi đã nghe thấy những điều hay về nó trên diễn đàn JME. Tài liệu dường như khan hiếm mặc dù.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.