2012-05-03 14 views
6

Tôi đang tạo trò chơi dành cho iPhone nhiều người chơi bằng cách sử dụng hướng dẫn nhiều người chơi làm bộ xương trong liên kết sau http://www.raywenderlich.com/3276/how-to-make-a-simple-multiplayer-game-with-game-center-tutorial-part-12.giới hạn kích thước gói cho trò chơi iPhone?

Với kiến ​​trúc tôi đang sử dụng (GameCentre ngang hàng) một trong các thiết bị đóng vai trò của máy chủ. Tôi có một câu hỏi, chỉ giới hạn kích thước gói là bao nhiêu? Trung bình, tôi cần gửi 890 byte mỗi lần ...

+0

Bạn có thể gửi các gói khá lớn, nhưng sau đó bạn nên quan tâm đến tốc độ. Một gói lớn sẽ mất nhiều thời gian hơn để gửi, khi giao tiếp nhanh là điều quan trọng trong trò chơi. Nói chung, nếu bạn đang gói dữ liệu quá lớn trong một trò chơi, bạn có thể chia nhỏ nó thành các gói nhỏ hơn, mỗi gói có phần dữ liệu cần thiết của riêng họ. – wquist

+0

hi cảm ơn vì đã trả lời, do đó, theo định nghĩa của một gói lớn là một gói 1k được coi là khá lớn? – godzilla

+0

1k byte? Vì vậy, như 1 kB? Nếu bạn đang gửi 30 gói/giây, thì đó là ~ 240 kb cả hai cách về tốc độ kết nối, do đó, nó thực sự phụ thuộc vào đối tượng mục tiêu. Nó sẽ thay đổi rất nhiều cho dù trên địa phương, WAN, 3G, vv Với tôi, mặc dù, đó là khá lớn. Đó là tương đương với khoảng 250 giá trị float, hoặc hơn 100 vị trí XY, mỗi khung hình. Đảm bảo mọi thứ bạn đang gửi là cần thiết. Nếu bạn có tính toán hoặc một số loại điều logic được gửi đi, hãy thử chuẩn hóa hành vi của nó và gửi một lá cờ byte đơn cho biết "điều này đã xảy ra" và thực hiện bất kỳ tính toán nào phía máy khách. – wquist

Trả lời

1

Nói chung bạn không nên dựa vào kích thước gói mạng. Các gói tin có thể bị phân mảnh (thông qua TCP/IP và được lắp ráp lại bởi chồng) hoặc dữ liệu được đóng gói dựa trên MTU của các tham số gửi/nhận.

+0

cảm ơn vì phản hồi, mối quan tâm của tôi là có ngưỡng kích thước nếu vượt quá dữ liệu sẽ không được nhận ở đầu kia? – godzilla

+0

Không thực sự. Dữ liệu của bạn sẽ được đóng gói bởi ngăn xếp mạng và được xây dựng lại ở phía bên kia. Bạn không phải làm gì cả. Giới hạn duy nhất là băng thông, vì điện thoại di động có thể ở một nơi có tiếp nhận không tốt. Chỉ cần đảm bảo bạn xử lý các lỗi đúng cách. – Zepplock

1

mỗi sự Game Kit Programming Guide:

  • Giới hạn kích thước của thông điệp đáng tin cậy đến 1000 byte hoặc kích thước nhỏ hơn.
  • Giới hạn kích thước của thư đáng tin cậy đến 87 kilobyte hoặc nhỏ hơn về kích thước.