Mã Java cho trò chơi máy khách-máy chủ trên Android


8

Tôi đã phát triển một trò chơi trên Android. Bây giờ tôi muốn chơi nó trên wifi hoặc 3G. Tôi có các gói trò chơi mà tôi muốn gửi máy khách mẫu (di động) đến máy chủ sau đó đến một máy khách khác (di động).

Tôi không biết cách viết mã bằng Java để gửi PlayPackets liên tục đến máy chủ và liên tục nhận playPacket từ máy chủ đến máy khách.

Tôi đoán tôi phải sử dụng hai luồng một để gửi và một để nhận.

Ai đó có thể giúp tôi với mã, hoặc thủ tục viết mã cho nó không?

Câu trả lời:


2

Ok hãy bắt đầu lại từ đầu. Tôi không biết bạn đang làm gì và làm thế nào nhưng khi thực hiện với mạng, bạn phải thử mô hình REACTOR .

Về cơ bản lò phản ứng là một cách để tránh việc sử dụng các luồng hoặc để bảo vệ nó trong đó một tác vụ luồng được tách rời hơn bởi lõi.

Trung tâm của lò phản ứng là chức năng chọn : bạn đăng ký các nguồn sự kiện của mình và yêu cầu chọn trở lại khi có điều gì đó xảy ra với một trong những nguồn đó .

Khi có thứ gì đó xuất hiện, vòng lặp chính của lò phản ứng chỉ đơn giản là tìm thấy Cái gì được nối với Nguồn nào phản ứng bằng cách tạo Sự kiện và gửi sự kiện này đến các đối tượng quan tâm đến các loại sự kiện đó.

Tôi không phải là Chuyên gia Java nhưng tôi biết rằng bạn có thể thiết lập ổ cắm (thậm chí cả UDP) và bạn có thể đặt chúng là không chặn. Cùng với whit này, tôi biết có một lớp gọi là Selector trong gói có tên là NIO. Những thứ đó đồng tình để xác định một cơ sở I / O đa kênh, không chặn

Tất cả những gì bạn cần chỉ đơn giản là thiết lập hai kênh UDP: một để nghe máy chủ và kênh kia để nói chuyện với máy chủ; đăng ký nghe một cho lò phản ứng và tích hợp bước phản ứng của lò phản ứng vào vòng lặp chính của bạn.

Hãy xem xét rằng cách tiếp cận này cho phép bạn kết nối đồng thời với các kênh khác nhau để bạn có thể xem xét để phát triển một trò chơi ngang hàng (không bị tắc nghẽn máy chủ và thiết kế phân tán ... nghe có vẻ hay!)

PS

Xin lưu ý rằng nếu bạn đang sử dụng một số loại GUI / cơ sở GUI, có lẽ bạn đã sử dụng Lò phản ứng ...


1

Một khởi đầu tốt cho lập trình máy khách-máy chủ sẽ là mạng kryo vì nó dễ học và thường được sử dụng / giới thiệu trong trò chơi phát ngôn java. Nó dựa trên sự kiện, vì vậy bạn sẽ không cần bất kỳ chủ đề nào ở đây.

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.