1
0
mirror of https://github.com/lidgren/lidgren-network-gen3.git synced 2026-05-15 22:56:30 +09:00

master server sample work

This commit is contained in:
lidgren
2010-05-11 11:59:18 +00:00
parent 51a18d5957
commit e62057c250
19 changed files with 918 additions and 15 deletions

View File

@@ -35,12 +35,6 @@
<Reference Include="System.Core">
<RequiredTargetFramework>3.5</RequiredTargetFramework>
</Reference>
<Reference Include="System.Xml.Linq">
<RequiredTargetFramework>3.5</RequiredTargetFramework>
</Reference>
<Reference Include="System.Data.DataSetExtensions">
<RequiredTargetFramework>3.5</RequiredTargetFramework>
</Reference>
<Reference Include="System.Data" />
<Reference Include="System.Xml" />
</ItemGroup>
@@ -53,6 +47,10 @@
<Project>{FA245447-5F23-4AA1-BD5F-8D2DDF33CFBD}</Project>
<Name>Lidgren.Network</Name>
</ProjectReference>
<ProjectReference Include="..\MSCommon\MSCommon.csproj">
<Project>{DCD2BE10-1B14-4C80-8BD6-77A8B1F43346}</Project>
<Name>MSCommon</Name>
</ProjectReference>
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.

View File

@@ -1,17 +1,13 @@
using System;
using System.Collections.Generic;
using Lidgren.Network;
using System.Net;
using System.Collections.Generic;
using Lidgren.Network;
using MSCommon;
namespace MasterServer
{
public enum MasterServerMessageType
{
RegisterHost,
RequestHostList,
RequestIntroduction,
}
public class Program
{
static void Main(string[] args)
@@ -19,6 +15,8 @@ namespace MasterServer
List<IPEndPoint[]> registeredHosts = new List<IPEndPoint[]>();
NetPeerConfiguration config = new NetPeerConfiguration("masterserver");
config.SetMessageTypeEnabled(NetIncomingMessageType.UnconnectedData, true);
config.Port = CommonConstants.MasterServerPort;
NetPeer peer = new NetPeer(config);
peer.Start();
@@ -47,11 +45,13 @@ namespace MasterServer
msg.ReadIPEndpoint(), // internal
msg.SenderEndpoint // external
};
Console.WriteLine("Registered host " + eps[1]);
registeredHosts.Add(eps);
break;
case MasterServerMessageType.RequestHostList:
// It's a client wanting a list of registered hosts
Console.WriteLine("Sending list of " + registeredHosts.Count + " hosts to client " + msg.SenderEndpoint);
foreach (IPEndPoint[] ep in registeredHosts)
{
// send registered host to client
@@ -68,6 +68,8 @@ namespace MasterServer
IPEndPoint hostExternal = msg.ReadIPEndpoint();
string token = msg.ReadString();
Console.WriteLine(msg.SenderEndpoint + " requesting introduction to " + hostExternal + " (token " + token + ")");
// find in list
foreach (IPEndPoint[] elist in registeredHosts)
{