public static void RegisterWithMasterServer(int port, string gameName, string gameDescription, string gameType) { try { TcpClient client = new TcpClient() { SendTimeout = 5, ReceiveTimeout = 5 }; client.Connect(MasterServerAddress, masterServerPort); using (Stream stream = client.GetStream()) { var obj = new RegisterServerRequest() { serverInfo = new ServerInfo() { port = port, gameDescription = gameDescription, gameName = gameName, gametype = gameType, maxPlayers = Network.maxConnections, numConnectedPlayers = Network.connections.Length } }; var buffer = new byte[4096]; var xs = new XmlSerializer(typeof(RegisterServerRequest)); xs.Serialize(new MemoryStream(buffer), obj); stream.Write(buffer, 0, buffer.Length); } } catch (Exception e) { Debug.LogError("Error registering with the Master Server:\n" + e.ToString()); } }
public async Task <RegisterServerResponse> Register(RegisterServerRequest request) { var result = ServerRegistryResult.Ok; var record = await _repository.RetrieveByServerID(request.Server.Id); if (record != null && DateTime.UtcNow < record.DateExpire.ToUniversalTime()) { result = ServerRegistryResult.FailedAlreadyRegistered; } if (result == ServerRegistryResult.Ok) { var newRecord = new ServerRegistryRecord(request.Server) { DateExpire = DateTime.UtcNow.Add(ServerRegistryTimeoutDuration) }; if (record != null) { await _repository.Delete(record); } await _repository.Insert(newRecord); } return(new RegisterServerResponse { Result = result }); }
protected override Message CreateFirstMessage() { Message m = new RegisterServerRequest(Server); Server.ActiveUsers = ULRM.Users.Count; return(m); }
/// <summary> /// Register server to DSM and mark this machine as ready /// </summary> /// <param name="podName">Should be taken from "POD_NAME" environment variable</param> /// <param name="port">Exposed port number to connect to</param> /// <param name="callback">Returns a Result via callback when completed</param> public void RegisterServer(string podName, int portNumber, ResultCallback callback) { Report.GetFunctionLog(this.GetType().Name); Assert.IsNotNull(podName, "Can't Register server; podName is null!"); if (!this.serverSession.IsValid()) { Debug.Log("Server RegisterServer session is not valid"); callback.TryError(ErrorCode.IsNotLoggedIn); return; } this.name = podName; var request = new RegisterServerRequest { pod_name = this.name, port = portNumber }; this.coroutineRunner.Run(this.api.RegisterServer(request, this.serverSession.AuthorizationToken, callback)); if (this.isHeartBeatAutomatic) { this.heartBeatCoroutine = this.coroutineRunner.Run(RunPeriodicHeartBeat()); } }
public IEnumerator RegisterServer(RegisterServerRequest registerRequest, string accessToken, ResultCallback callback) { Assert.IsNotNull(registerRequest, "Register failed. registerserverRequest is null!"); Assert.IsNotNull(accessToken, "Can't update a slot! accessToken parameter is null!"); registerRequest.ip = serverSetup.ip; registerRequest.provider = serverSetup.provider; registerRequest.game_version = serverSetup.game_version; var request = HttpRequestBuilder.CreatePost(this.baseUrl + "/namespaces/{namespace}/servers/register") .WithPathParam("namespace", this.namespace_) .WithBearerAuth(accessToken) .WithContentType(MediaType.ApplicationJson) .Accepts(MediaType.ApplicationJson) .WithBody(registerRequest.ToUtf8Json()) .GetResult(); IHttpResponse response = null; yield return(this.httpClient.SendRequest(request, rsp => response = rsp)); var result = response.TryParseJson <ServerInfo>(); if (!result.IsError) { serverSetup.pod_name = result.Value.pod_name; serverType = ServerType.CLOUDSERVER; } callback.Try(response.TryParse()); }
public static LogEntry For(RegisterServerRequest request) { LogEntry entry = new LogEntry("RegisterServerRequest"); entry.Add("RequestHeader", For(request.RequestHeader)); entry.Add("Server", For(request.Server)); return(entry); }
/// <summary> /// Register server to DSM and mark this machine as ready /// </summary> /// <param name="port">Exposed port number to connect to</param> /// <param name="callback">Returns a Result via callback when completed</param> public void RegisterServer(int portNumber, ResultCallback callback) { Report.GetFunctionLog(this.GetType().Name); if (!this.serverSession.IsValid()) { AccelByteDebug.Log("Server RegisterServer session is not valid"); callback.TryError(ErrorCode.IsNotLoggedIn); return; } this.name = Environment.GetEnvironmentVariable("POD_NAME"); var request = new RegisterServerRequest { pod_name = this.name, port = portNumber }; this.coroutineRunner.Run(this.api.RegisterServer(request, this.serverSession.AuthorizationToken, callback)); }
internal DedicatedServerManagerApi(string baseUrl, string namespace_, IHttpWorker httpWorker) { Debug.Log("ServerApi init serverapi start"); Assert.IsNotNull(baseUrl, "Creating " + GetType().Name + " failed. Parameter baseUrl is null"); Assert.IsFalse( string.IsNullOrEmpty(namespace_), "Creating " + GetType().Name + " failed. Parameter namespace is null."); Assert.IsNotNull(httpWorker, "Creating " + GetType().Name + " failed. Parameter httpWorker is null"); this.baseUrl = baseUrl; this.namespace_ = namespace_; this.httpWorker = httpWorker; this.serverSetup = new RegisterServerRequest() { game_version = "", ip = "", pod_name = "", provider = "" }; ParseArgsAndServerSetup(); }
public IEnumerator RegisterServer(RegisterServerRequest registerRequest, string accessToken, ResultCallback callback) { Assert.IsNotNull(registerRequest, "Register failed. registerserverRequest is null!"); Assert.IsNotNull(accessToken, "Can't update a slot! accessToken parameter is null!"); var request = HttpRequestBuilder.CreatePost(this.baseUrl + "/namespaces/{namespace}/servers/register") .WithPathParam("namespace", this.namespace_) .WithBearerAuth(accessToken) .WithContentType(MediaType.ApplicationJson) .Accepts(MediaType.ApplicationJson) .WithBody(registerRequest.ToUtf8Json()) .GetResult(); IHttpResponse response = null; yield return(this.httpWorker.SendRequest(request, rsp => response = rsp)); var result = response.TryParse(); callback.Try(result); }
protected override void ExecuteDetails(object context) { RegisterServerRequest incoming = (RegisterServerRequest)context; Server s = incoming.Server; s.ChatServerEndpoint = RemoteEndPoint; SLRM.Add(RemoteEndPoint, s); //RegisteredServerManager MyRSM = RegisteredServerManager.GetInstance(); //MyRSM.Add(CreateIPEndPoint(incoming.ChatServerEndpoint)); var acknowledgement = new Acknowledge(ResponseCodes.SUCCESS, "true"); var envelope = new Envelope() { Message = acknowledgement, EndPoint = RemoteEndPoint }; if (!Send(envelope)) { Error = "Cannot send back acknowledgement"; } }
public IEnumerator RegisterServer(RegisterServerRequest registerRequest, string accessToken, ResultCallback callback) { Assert.IsNotNull(registerRequest, "Register failed. registerserverRequest is null!"); Assert.IsNotNull(accessToken, "Can't update a slot! accessToken parameter is null!"); if (this.serverType != ServerType.NONE) { callback.TryError(ErrorCode.Conflict, "Server is already registered."); yield break; } if (dsmServerUrl.Length == 0) { ServerQos qos = AccelByteServerPlugin.GetQos(); Result <Dictionary <string, int> > latenciesResult = null; qos.GetServerLatencies(reqResult => latenciesResult = reqResult); yield return(new WaitUntil(() => latenciesResult != null)); foreach (KeyValuePair <string, int> latency in latenciesResult.Value.OrderBy(item => item.Value)) { var getUrlRequest = HttpRequestBuilder.CreateGet(this.baseUrl + "/public/dsm?region=" + latency.Key) .WithBearerAuth(accessToken) .WithContentType(MediaType.ApplicationJson) .Accepts(MediaType.ApplicationJson) .GetResult(); IHttpResponse getUrlResponse = null; yield return(this.httpWorker.SendRequest(getUrlRequest, rsp => getUrlResponse = rsp)); var getUrlResult = getUrlResponse.TryParseJson <DSMClient>(); if (getUrlResult.Value.status == "HEALTHY") { dsmServerUrl = getUrlResult.Value.host_address; break; } } } if (serverSetup.ip.Length == 0) { var getPubIpRequest = HttpRequestBuilder.CreateGet("https://api.ipify.org?format=json") .WithContentType(MediaType.ApplicationJson) .Accepts(MediaType.ApplicationJson) .GetResult(); IHttpResponse getPubIpResponse = null; yield return(this.httpWorker.SendRequest(getPubIpRequest, rsp => getPubIpResponse = rsp)); var getPubIpResult = getPubIpResponse.TryParseJson <PubIp>(); serverSetup.ip = getPubIpResult.Value.ip; } if (IsCurrentProvider(Provider.AGONES)) { #if ENABLE_AGONES_PLUGIN InitiateAgones(callback); #else callback.TryError(ErrorCode.NotFound, "Can't request register server. Agones provider arguments is passed but Agones plugin is not found."); #endif } else { registerRequest.ip = serverSetup.ip; registerRequest.provider = serverSetup.provider; registerRequest.game_version = serverSetup.game_version; var request = HttpRequestBuilder.CreatePost(this.dsmServerUrl + "/dsm/namespaces/{namespace}/servers/register") .WithPathParam("namespace", this.namespace_) .WithBearerAuth(accessToken) .WithContentType(MediaType.ApplicationJson) .Accepts(MediaType.ApplicationJson) .WithBody(registerRequest.ToUtf8Json()) .GetResult(); IHttpResponse response = null; yield return(this.httpWorker.SendRequest(request, rsp => response = rsp)); var result = response.TryParseJson <ServerInfo>(); if (!result.IsError) { serverSetup.pod_name = result.Value.pod_name; serverType = ServerType.CLOUDSERVER; } callback.Try(response.TryParse()); } }
public void TestMessageGettersSetters() { // Test Message constructor // Setup Message m1 = new SendMessageRequest("my group id", "Hello World", "Me"); Message m2 = new SendMessageRequest("my group id", "Hello World", "Me"); // Tests Assert.AreEqual(m1.MessageType, MessageTypes.ToInt(typeof(SendMessageRequest))); Assert.AreNotEqual(m1.MessageId, m2.MessageId); // Setup Server s = new Server(); s.ChatServerEndpoint = new IPEndPoint(IPAddress.Parse("1.1.1.1"), 49); s.Hostname = "TestHostName"; s.ActiveUsers = 14; Message m3 = new RegisterServerRequest(s); Message m4 = new RegisterServerRequest(s); // Tests Assert.IsNotNull(m3.Server); Assert.IsNotNull(m4.Server); Assert.AreEqual(m3.Server.Hostname, m4.Server.Hostname); Assert.AreEqual(m3.Server.ChatServerEndpoint, m4.Server.ChatServerEndpoint); Assert.AreEqual(m3.Server.ActiveUsers, m4.Server.ActiveUsers); Assert.AreEqual(m3.MessageType, m4.MessageType); Assert.AreNotEqual(m3.MessageId, m4.MessageId); // Setup List <Tuple <string, UserKey> > k = new List <Tuple <string, UserKey> >(); k.Add(new Tuple <string, UserKey>("508", new UserKey("Bob", "BobsKey"))); k.Add(new Tuple <string, UserKey>("509", new UserKey("Joe", "JoesKey"))); Message m5 = new PublicKeysResponse(k); // Tests Assert.IsNotNull(m5.Keys); Assert.AreEqual(m5.Keys[0].Item2.Username, "Bob"); Assert.AreEqual(m5.Keys[1].Item2.Username, "Joe"); Assert.AreEqual(m5.Keys[0].Item2.Publickey, "BobsKey"); Assert.AreEqual(m5.Keys[1].Item2.Publickey, "JoesKey"); // Setup m1 = new RegisterKeyRequest("Bob", new UserKey("Bob", "BobsKey")); m1.UserKey = new UserKey("NotBob", "NotBobsKey"); // Tests Assert.AreEqual(m1.UserKey.Username, "NotBob"); Assert.AreEqual(m1.UserKey.Publickey, "NotBobsKey"); // Setup m1 = new Acknowledge(ResponseCodes.SUCCESS, "You win!"); m1.Code = ResponseCodes.FAIL; m1.ResponseMessage = "You lose!"; // Tests Assert.AreEqual(m1.Code, ResponseCodes.FAIL); Assert.AreEqual(m1.ResponseMessage, "You lose!"); // Setup List <string> users = new List <string>(); users.Add("Billy"); users.Add("Joe"); users.Add("Bob"); m1 = new PublicKeysRequest(users); // Tests Assert.IsNotNull(m1.Users); Assert.AreEqual(m1.Users[0], "Billy"); Assert.AreEqual(m1.Users[1], "Joe"); Assert.AreEqual(m1.Users[2], "Bob"); m1.Users.RemoveAt(0); Assert.AreEqual(m1.Users[0], "Joe"); Assert.AreEqual(m1.Users[1], "Bob"); // Setup m1 = new HeartBeat(300); // Tests Assert.AreEqual(m1.KeepAlive, 300); m1.KeepAlive = 600; Assert.AreEqual(m1.KeepAlive, 600); // Setup m1 = new NewMessagesRequest("MyId", "Last message ID"); // Tests Assert.AreEqual(m1.LastMessage, "Last message ID"); m1.LastMessage = ""; Assert.AreEqual(m1.LastMessage, ""); // Setup List <EncryptedMessage> list = new List <EncryptedMessage>(); EncryptedMessage cm1 = new EncryptedMessage(); cm1.MessageId = "message id 1"; cm1.SenderId = "Bob"; cm1.Timestamp = 101010101010; cm1.PlainText = "Dead men tell no tales"; cm1.GroupId = "My special group"; list.Add(cm1); m1 = new NewMessagesResponse(list); // Tests Assert.AreEqual(m1.Messages[0].SenderId, "Bob"); Assert.AreEqual(m1.Messages[0].MessageId, "message id 1"); Assert.AreEqual(m1.Messages[0].Timestamp, 101010101010); Assert.AreEqual(m1.Messages[0].PlainText, "Dead men tell no tales"); Assert.AreEqual(m1.Messages[0].GroupId, "My special group"); m1.Messages[0].SenderId = "Joe"; m1.Messages[0].MessageId = "message id 2"; m1.Messages[0].Timestamp = 10101; m1.Messages[0].PlainText = "Tell tales, dead men do not"; m1.Messages[0].GroupId = "My not as special group"; Assert.AreEqual(m1.Messages[0].SenderId, "Joe"); Assert.AreEqual(m1.Messages[0].MessageId, "message id 2"); Assert.AreEqual(m1.Messages[0].Timestamp, 10101); Assert.AreEqual(m1.Messages[0].PlainText, "Tell tales, dead men do not"); Assert.AreEqual(m1.Messages[0].GroupId, "My not as special group"); // Setup Server s1 = new Server(); s1.ChatServerEndpoint = new IPEndPoint(IPAddress.Parse("192.168.0.1"), 12345); s1.ActiveUsers = 38; List <Server> l1 = new List <Server>(); l1.Add(s1); m1 = new ListServersResponse(l1); // Tests Assert.AreEqual(m1.Servers[0].ChatServerEndpoint.ToString(), "192.168.0.1:12345"); Assert.AreEqual(m1.Servers[0].ActiveUsers, 38); m1.Servers[0].ActiveUsers = 43; Assert.AreEqual(m1.Servers[0].ActiveUsers, 43); }
public override void RegisterServer(IRpcController controller, RegisterServerRequest request, Action <NoData> done) { ProtoOutputBuffer.Write(request.GetType(), request.ToString()); }
/// <summary> /// Initializes the message with the body. /// </summary> public RegisterServerMessage(RegisterServerRequest RegisterServerRequest) { this.RegisterServerRequest = RegisterServerRequest; }
public static void RegisterWithMasterServer(int port, string gameName, string gameDescription, string gameType) { try { TcpClient client = new TcpClient() { SendTimeout = 5, ReceiveTimeout = 5 }; client.Connect(MasterServerAddress, masterServerPort); using (Stream stream = client.GetStream()) { var obj = new RegisterServerRequest() { serverInfo = new ServerInfo() { port = port, gameDescription = gameDescription, gameName = gameName, gametype = gameType, maxPlayers = Network.maxConnections, numConnectedPlayers = Network.connections.Length } }; var buffer = new byte[4096]; var xs = new XmlSerializer(typeof(RegisterServerRequest)); xs.Serialize(new MemoryStream(buffer), obj); stream.Write(buffer, 0, buffer.Length); } } catch (Exception e) { Debug.LogError("Error registering with the Master Server:\n" + e.ToString()); } }
public override void RegisterServer(IRpcController controller, RegisterServerRequest request, Action<NoData> done) { ProtoOutputBuffer.Write(request.GetType(), request.ToString()); }
public override void RegisterServer(IRpcController controller, RegisterServerRequest request, Action <NoData> done) { throw new NotImplementedException(); }
/// <summary> /// Invokes the RegisterServer service. /// </summary> public virtual ResponseHeader RegisterServer( RequestHeader requestHeader, RegisteredServer server) { RegisterServerRequest request = new RegisterServerRequest(); RegisterServerResponse response = null; request.RequestHeader = requestHeader; request.Server = server; UpdateRequestHeader(request, requestHeader == null, "RegisterServer"); try { if (UseTransportChannel) { IServiceResponse genericResponse = TransportChannel.SendRequest(request); if (genericResponse == null) { throw new ServiceResultException(StatusCodes.BadUnknownResponse); } ValidateResponse(genericResponse.ResponseHeader); response = (RegisterServerResponse)genericResponse; } else { RegisterServerResponseMessage responseMessage = InnerChannel.RegisterServer(new RegisterServerMessage(request)); if (responseMessage == null || responseMessage.RegisterServerResponse == null) { throw new ServiceResultException(StatusCodes.BadUnknownResponse); } response = responseMessage.RegisterServerResponse; ValidateResponse(response.ResponseHeader); } } finally { RequestCompleted(request, response, "RegisterServer"); } return response.ResponseHeader; }
public void TestMessageSerializations() { // Test Serialization // Setup Message expected = new SendMessageRequest("my group id", "Hello World", "Me"); string jsontext = expected.JSON(); Message m = MessageFromJSONFactory.GetMessage(jsontext); // Tests Trace.WriteLine(m.MessageId); Trace.WriteLine(expected.MessageId); Assert.IsNotNull(jsontext); Assert.IsNotNull(m); Assert.IsNotNull(expected); Assert.AreEqual(m.MessageId, expected.MessageId); // Setup Message m1 = new RegisterServerRequest(new Server()); Message m2 = MessageFromJSONFactory.GetMessage(m1.JSON()); // Tests Assert.IsNotNull(m1.Server); Assert.IsNotNull(m2.Server); Assert.AreEqual(m1.MessageId, m2.MessageId); Assert.AreEqual(m1.MessageType, MessageTypes.ToInt(typeof(RegisterServerRequest))); Assert.AreEqual(m2.MessageType, MessageTypes.ToInt(typeof(RegisterServerRequest))); // Setup List <Tuple <string, UserKey> > keys = new List <Tuple <string, UserKey> >(); keys.Add(new Tuple <string, UserKey>("1", new UserKey("Bob", "BobsKey"))); keys.Add(new Tuple <string, UserKey>("2", new UserKey("Joe", "JoesKey"))); m1 = new PublicKeysResponse(keys); m2 = MessageFromJSONFactory.GetMessage(m1.JSON()); // Tests Assert.AreEqual(m1.MessageId, m2.MessageId); Assert.AreEqual(m2.Keys[0].Item2.Publickey, "BobsKey"); Assert.AreEqual(m2.Keys[1].Item2.Publickey, "JoesKey"); Assert.AreEqual(m1.MessageType, MessageTypes.ToInt(typeof(PublicKeysResponse))); Assert.AreEqual(m2.MessageType, MessageTypes.ToInt(typeof(PublicKeysResponse))); // Setup m1 = new RegisterKeyRequest("1", new UserKey("Bob", "BobsKey")); m2 = MessageFromJSONFactory.GetMessage(m1.JSON()); Assert.AreEqual(m1.UserKey.Username, m2.UserKey.Username); Assert.AreEqual(m1.UserKey.Publickey, m2.UserKey.Publickey); Assert.AreEqual(m1.MessageId, m2.MessageId); Assert.AreEqual(m1.MessageType, m2.MessageType); // Setup m1 = new Acknowledge(ResponseCodes.SUCCESS, "You win!"); m2 = MessageFromJSONFactory.GetMessage(m1.JSON()); // Tests Assert.AreEqual(m1.Code, ResponseCodes.SUCCESS); Assert.AreEqual(m1.ResponseMessage, "You win!"); // Setup List <string> users = new List <string>(); users.Add("Billy"); users.Add("Joe"); users.Add("Bob"); m1 = new PublicKeysRequest(users); m2 = MessageFromJSONFactory.GetMessage(m1.JSON()); // Tests Assert.AreEqual(m1.MessageId, m2.MessageId); Assert.AreEqual(m1.MessageType, MessageTypes.ToInt(typeof(PublicKeysRequest))); Assert.AreEqual(m2.MessageType, MessageTypes.ToInt(typeof(PublicKeysRequest))); Assert.AreEqual(m1.Users[0], m2.Users[0]); Assert.AreEqual(m1.Users[1], m2.Users[1]); Assert.AreEqual(m1.Users[2], m2.Users[2]); Assert.AreEqual(m1.Users.Count, 3); Assert.AreEqual(m1.Users.Count, m2.Users.Count); // Setup m1 = new HeartBeat(300); m2 = MessageFromJSONFactory.GetMessage(m1.JSON()); // Tests Assert.AreEqual(m1.KeepAlive, 300); Assert.AreEqual(m1.MessageType, MessageTypes.ToInt(typeof(HeartBeat))); Assert.AreEqual(m2.MessageType, MessageTypes.ToInt(typeof(HeartBeat))); Assert.AreEqual(m1.MessageId, m2.MessageId); // Setup m1 = new NewMessagesRequest("MyId", "Last message ID"); m2 = MessageFromJSONFactory.GetMessage(m1.JSON()); // Tests Assert.AreEqual(m1.MessageId, m2.MessageId); Assert.AreEqual(m1.LastMessage, m2.LastMessage); Assert.AreEqual(m2.LastMessage, "Last message ID"); Assert.AreEqual(m1.MessageType, MessageTypes.ToInt(typeof(NewMessagesRequest))); Assert.AreEqual(m2.MessageType, MessageTypes.ToInt(typeof(NewMessagesRequest))); // Setup List <EncryptedMessage> list = new List <EncryptedMessage>(); EncryptedMessage cm1 = new EncryptedMessage(); cm1.MessageId = "message id 1"; cm1.SenderId = "Bob"; cm1.Timestamp = 101010101010; cm1.PlainText = "Dead men tell no tales"; cm1.GroupId = "My special group"; list.Add(cm1); m1 = new NewMessagesResponse(list); m2 = MessageFromJSONFactory.GetMessage(m1.JSON()); // Tests Assert.AreEqual(m1.MessageId, m2.MessageId); Assert.AreEqual(m1.MessageType, MessageTypes.ToInt(typeof(NewMessagesResponse))); Assert.AreEqual(m2.MessageType, MessageTypes.ToInt(typeof(NewMessagesResponse))); Assert.AreEqual(m1.Messages[0].MessageId, m2.Messages[0].MessageId); Assert.AreEqual(m1.Messages[0].Timestamp, m2.Messages[0].Timestamp); Assert.AreEqual(m1.Messages[0].GroupId, m2.Messages[0].GroupId); Assert.AreEqual(m1.Messages[0].SenderId, m2.Messages[0].SenderId); Assert.IsNull(m2.Messages[0].PlainText); // Make sure message isn't passed in plain text // Setup Server s1 = new Server(); s1.ChatServerEndpoint = new IPEndPoint(IPAddress.Parse("192.168.0.1"), 12345); s1.ActiveUsers = 38; List <Server> l1 = new List <Server>(); l1.Add(s1); m1 = new ListServersResponse(l1); m2 = MessageFromJSONFactory.GetMessage(m1.JSON()); // Tests Assert.AreEqual(m1.MessageType, MessageTypes.ToInt(typeof(ListServersResponse))); Assert.AreEqual(m2.MessageType, MessageTypes.ToInt(typeof(ListServersResponse))); Assert.AreEqual(m1.MessageId, m2.MessageId); Assert.AreEqual(m1.Servers[0].ChatServerEndpoint, m2.Servers[0].ChatServerEndpoint); Assert.AreEqual(m1.Servers[0].ChatServerEndpoint, m2.Servers[0].ChatServerEndpoint); Assert.AreEqual(m2.Servers[0].ChatServerEndpoint.ToString(), "192.168.0.1:12345"); Assert.AreEqual(m1.Servers[0].ActiveUsers, m2.Servers[0].ActiveUsers); Assert.AreEqual(m2.Servers[0].ActiveUsers, 38); }
/// <summary> /// Begins an asynchronous invocation of the RegisterServer service. /// </summary> public IAsyncResult BeginRegisterServer( RequestHeader requestHeader, RegisteredServer server, AsyncCallback callback, object asyncState) { RegisterServerRequest request = new RegisterServerRequest(); request.RequestHeader = requestHeader; request.Server = server; UpdateRequestHeader(request, requestHeader == null, "RegisterServer"); if (UseTransportChannel) { return TransportChannel.BeginSendRequest(request, callback, asyncState); } return InnerChannel.BeginRegisterServer(new RegisterServerMessage(request), callback, asyncState); }
public override void RegisterServer(IRpcController controller, RegisterServerRequest request, Action<NoData> done) { throw new NotImplementedException(); }
public override void RegisterServer(Google.ProtocolBuffers.IRpcController controller, RegisterServerRequest request, Action <bnet.protocol.NoData> done) { throw new NotImplementedException(); }