Multiplayer: Unterschied zwischen den Versionen

Aus Das Sopra Wiki
Dietsch (Diskussion | Beiträge)
Keine Bearbeitungszusammenfassung
Ruzzoli (Diskussion | Beiträge)
Zeile 37: Zeile 37:
Starten des Servers
Starten des Servers
<source lang=csharp>
<source lang=csharp>
NetConfiguration config = new NetConfiguration("MyApp");
NetPeerConfiguration config = new NetPeerConfiguration("MyApp");
config.Port = 4096;
config.Port = 4096;
NetServer myNetServer = new NetServer(config);
NetServer myNetServer = new NetServer(config);
myNetServer.SetMessageTypeEnabled(NetMessageType.ConnectionApproval, true);
myNetServer.Start();
myNetServer.Start();
</source>
</source>
Zeile 46: Zeile 45:
Empfangen von Clientdaten
Empfangen von Clientdaten
<source lang=csharp>
<source lang=csharp>
NetBuffer buffer = myNetServer.CreateBuffer();
NetIncomingMessage msg;
NetMessageType type;
while ((msg = server.ReadMessage()) != null)
NetConnection sender;
while (myNetServer.ReadMessage(buffer, out type, out sender))
{
{
switch (type)
switch (msg.MessageType)
{
{
case NetMessageType.DebugMessage:
case NetIncomingMessageType.VerboseDebugMessage:
Console.WriteLine(buffer.ReadString());
case NetIncomingMessageType.DebugMessage:
case NetIncomingMessageType.WarningMessage:
case NetIncomingMessageType.ErrorMessage:
Console.WriteLine(msg.ReadString());
break;
break;
case NetMessageType.ConnectionApproval:
case NetIncomingMessageType.Data:
// a client has connected and asks for approval
sender.Approve();
break;
case NetMessageType.StatusChanged:
string statusMessage = buffer.ReadString();
NetConnectionStatus newStatus = (NetConnectionStatus)buffer.ReadByte();
Console.WriteLine("New status for " + sender + ": " + newStatus + " (" + statusMessage + ")");
break;
case NetMessageType.Data:
// data sent by client..
// data sent by client..
// buffer contains the userdata from the client..
// buffer contains the userdata from the client..
Zeile 81: Zeile 72:
<source lang=csharp>
<source lang=csharp>
myNetServer.SendToAll(buffer, NetChannel.UnreliableInOrder1);
myNetServer.SendToAll(buffer, NetChannel.UnreliableInOrder1);
</source>
</source> [[Kategorie:Code-Beispiele]]
 
=== Client ===
=== Client ===
Client starten
Client starten