Multiplayer in C#

  • Onderwerp starter Onderwerp starter Regno
  • Startdatum Startdatum
Status
Niet open voor verdere reacties.

Regno

Gebruiker
Lid geworden
26 jul 2010
Berichten
57
Hee,

Ik probeer een spel te maken met een multiplayer functie! Nu volg ik wat tutorials, onder andere degene die Microsoft zelf online heeft gezet. Veel van de tutorials zeggen dat ik als library Microsoft.Xna.Framework.Net & Microsoft.Xna.Framework.Storage moet gebruiken.

Nu probeer ik deze toe te voegen, maar Visual studio herkent deze opgegeven libraries niet...volgens mij zit het probleem in de overgang van xna 3.1 naar 4.0. De tutorial geeft aan dat het voor Xna 3.1 is. Maar welke libraries moet ik dan gaan gebruiken om mijn multiplayer functie toe te voegen?


Mvg,


Regno
 
Als ik het goed begrijp, heb je de engine zelf al geschreven?
Om puur packets te verzenden moet je deze code gebruiken:
Code:
                    byte[] data = new byte[1024];
                    string sData = textBox3.Text; //vul hier in wat je wilt verzenden, bijv coördinaten.
                    IPEndPoint ep = new IPEndPoint(IPAddress.Parse(ip), 8000); //Eerst het IP adres opgeven, daarna de poort

                    Socket socket = new Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp);
                    data = Encoding.ASCII.GetBytes(sData);
                    socket.SendTo(data, data.Length, SocketFlags.None, ep);

Degene die daarna pakketten ontvangt gebruikt de volgende code:
Zet dit bovenaan je class:
Code:
UdpClient listener = new UdpClient(listenPort); //gebruik een nummer

Plaats deze code in een timer):
Code:
            if (listener.Available > 0)
            {
                try
                {
                    receive_byte_array = listener.Receive(ref groupEP);
                    received_data = Encoding.ASCII.GetString(receive_byte_array, 0, receive_byte_array.Length);

                    //hier iets leuks doen met de ontvangen data
                }
                catch (Exception)
                {
                }
            }
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan