public static NetworkRequest Prepare(short type) { NetworkRequest request = new NetworkRequest(NetworkCode.CHART); request.AddShort16(type); return request; }
public static NetworkRequest Prepare(short game_id) { NetworkRequest request = new NetworkRequest(NetworkCode.PLAY_GAME); request.AddShort16(game_id); return request; }
public static NetworkRequest Prepare(int player_id) { NetworkRequest request = new NetworkRequest(NetworkCode.PLAYER_SELECT); request.AddInt32(player_id); return request; }
public static NetworkRequest Prepare(int hintOffset) { NetworkRequest request = new NetworkRequest(NetworkCode.CONVERGE_HINT); request.AddInt32(hintOffset); return request; }
protected virtual bool OnNewWindowPolicyDecisionRequested (WebFrame frame, NetworkRequest request, WebNavigationAction action, WebPolicyDecision decision) { var val = new Value (GType.Int); var valueArray = new ValueArray (5u); var array = new Value[5]; array [0] = new Value (this); valueArray.Append (array [0]); array [1] = new Value (frame); valueArray.Append (array [1]); array [2] = new Value (request); valueArray.Append (array [2]); array [3] = new Value (action); valueArray.Append (array [3]); array [4] = new Value (decision); valueArray.Append (array [4]); GLib.Object.g_signal_chain_from_overridden (valueArray.ArrayPtr, ref val); var array2 = array; for (int i = 0; i < array2.Length; i++) { var value = array2 [i]; value.Dispose (); } bool result = (bool)val; val.Dispose (); return result; }
/// <summary> /// Creates a request containing battle results /// </summary> /// <param name="res">The result</param> public static NetworkRequest Prepare(BattleResult res) { NetworkRequest request = new NetworkRequest(NetworkCode.CLASH_END_BATTLE); request.AddInt32((int)res); return request; }
public static NetworkRequest Prepare(int gameid, int pairParam) { NetworkRequest request = new NetworkRequest(NetworkCode.PAIR); request.AddInt32 (gameid); request.AddInt32 (pairParam); return request; }
public static NetworkRequest Prepare(string message) { NetworkRequest request = new NetworkRequest(NetworkCode.ERROR_LOG); request.AddString(message); return request; }
public static NetworkRequest Prepare(string user_id, string password) { NetworkRequest request = new NetworkRequest(NetworkCode.LOGIN); request.AddString(user_id); request.AddString(password); return request; }
public static NetworkRequest Prepare(int player_id, int ecosystem_id) { NetworkRequest request = new NetworkRequest (NetworkCode.CONVERGE_PRIOR_ATTEMPT_COUNT); request.AddInt32 (player_id); request.AddInt32 (ecosystem_id); return request; }
public static NetworkRequest Prepare(short action, short type) { NetworkRequest request = new NetworkRequest(NetworkCode.SPECIES_ACTION); request.AddShort16(action); request.AddShort16(type); return request; }
public static NetworkRequest Prepare(int zone_id, int user_id) { NetworkRequest request = new NetworkRequest(NetworkCode.ZONE); request.AddInt32(zone_id); request.AddInt32(user_id); return request; }
public static NetworkRequest Prepare(string version, string session_id) { NetworkRequest request = new NetworkRequest(NetworkCode.CLIENT); request.AddString(version); request.AddString(session_id); return request; }
public static NetworkRequest Prepare(int world_id, int player_id) { NetworkRequest request = new NetworkRequest(NetworkCode.ECOSYSTEM); request.AddInt32(world_id); request.AddInt32(player_id); return request; }
/* * types: * 0 - regular message * 1 - server message (?) * 2 - private message * * status: * 0 - OK * 1 - whipser failed */ public static NetworkRequest Prepare(short type, string message, string recipient) { NetworkRequest request = new NetworkRequest(NetworkCode.MESSAGE); request.AddShort16(type); request.AddString(message); request.AddString(recipient); return request; }
public static void Send(NetworkRequest packet, Callback callback) { NetworkManager.Send(packet); int protocol_id = packet.GetID(); if (!callbackList.ContainsKey(protocol_id)) { callbackList[protocol_id] = new Queue<Callback>(); } callbackList[protocol_id].Enqueue(callback); }
/// <summary> /// Generates a request with the following format: /// id of this protocol (short) /// id of player to be attacked (int) /// # of species in attack config (int) /// for each species in attack config: /// species id (int) /// </summary> /// <param name="otherPlayerID">the player to attack</param> /// <param name="species">list of species ids to use in attack</param> public static NetworkRequest Prepare(int otherPlayerID, List<int> species) { NetworkRequest request = new NetworkRequest(NetworkCode.CLASH_INITIATE_BATTLE); request.AddInt32(otherPlayerID); request.AddInt32(species.Count); foreach(int s in species){ request.AddInt32(s); } return request; }
public NetworkRequest Clone() { var r = new NetworkRequest(); r.Verb = Verb; r.Data = Data; r.Param = Param; r.SourceID = SourceID; r.OverlordID = OverlordID; r.AuthKey = AuthKey; return r; }
public static NetworkRequest Prepare(int zone_id, int player_id, int vegetation_capacity, int natural_event) { NetworkRequest request = new NetworkRequest(NetworkCode.ZONE_UPDATE); request.AddInt32(zone_id); // request.addInt32(Constants.USER_ID); request.AddInt32(player_id); request.AddInt32(vegetation_capacity); request.AddInt32(natural_event); return request; }
public static NetworkRequest Prepare(short game_id, int credits) { NetworkRequest request = new NetworkRequest(NetworkCode.END_GAME); request.AddShort16(game_id); if (game_id == 1) { request.AddInt32(credits); } return request; }
public static NetworkRequest Prepare(string fname, string lname, string email, string password, string name, short color) { NetworkRequest request = new NetworkRequest(NetworkCode.REGISTER); request.AddString(fname); request.AddString(lname); request.AddString(email); request.AddString(password); request.AddString(name); return request; }
public static NetworkRequest Prepare(short type, Dictionary<int, int> cartList) { NetworkRequest request = new NetworkRequest(NetworkCode.SHOP_ACTION); request.AddShort16(type); request.AddShort16((short) cartList.Count); foreach (KeyValuePair<int, int> entry in cartList) { request.AddInt32(entry.Key); request.AddInt32(entry.Value); } return request; }
public static NetworkRequest Prepare(short action, Dictionary<int, int> speciesList) { NetworkRequest request = new NetworkRequest(NetworkCode.SPECIES_ACTION); request.AddShort16(action); request.AddShort16((short) speciesList.Count); foreach (KeyValuePair<int, int> entry in speciesList) { request.AddInt32(entry.Key); request.AddInt32(entry.Value); } return request; }
public static NetworkRequest Prepare( int playerId, int ecosystemId, int attemptId, int score ) { NetworkRequest request = new NetworkRequest (NetworkCode.CONVERGE_NEW_ATTEMPT_SCORE); request.AddInt32 (playerId); request.AddInt32 (ecosystemId); request.AddInt32 (attemptId); request.AddInt32 (score); return request; }
public void Send(NetworkRequest request) { if (!socketReady) { SetupSocket(); } GamePacket packet = request.packet; byte[] bytes = packet.getBytes(); theStream.Write(bytes, 0, bytes.Length); if (request.request_id != Constants.CMSG_HEARTBEAT) { Debug.Log("Sent Request No. " + request.request_id + " [" + request.ToString() + "]"); } }
public NetworkRequest ProcessRequest(NetworkRequest r) { var verb = Deserialise <BrowseVerb>(r.Data); List <BrowsingFile> results; if (_infoService.GetPath(verb.Path, verb.NoCache, true, out results)) { Results = results; } r.Data = Serialize(this); //Clear collection to assist GC results.Clear(); return(r); }
public static NetworkRequest get(short request_id) { NetworkRequest request = null; if (requestTable.ContainsKey(request_id)) { request = (NetworkRequest)Activator.CreateInstance(requestTable[request_id]); request.request_id = request_id; } else { Debug.Log("Request [" + request_id + "] Not Found"); } return(request); }
public void Stop() { run = false; //Kill client connections to external overlords foreach (Uplink client in extOverlordServers.ToList()) { client.Kill(); } var req = new NetworkRequest { Verb = "DISCONNECT", SourceID = serverNode.ID }; SendToStandardClients(req); SendToOverlordClients(req); }
private bool HandleSearch(RequestEventArgs e, NetworkRequest req) { //We dont do this on a server.. var verb = new SearchVerb(null); NetworkRequest result = verb.ProcessRequest(req); byte[] data = Encoding.UTF8.GetBytes(result.Data); var generator = new ResponseWriter(); e.Response.ContentLength.Value = data.Length; generator.SendHeaders(e.Context, e.Response); e.Context.Stream.Write(data, 0, data.Length); e.Context.Stream.Flush(); data = null; return(true); }
private bool HandleChat(NetworkRequest r, RequestEventArgs e) { //If an overlord id is set then this has come from an external overlord if (string.IsNullOrEmpty(r.OverlordID)) { r.OverlordID = serverNode.ID; SendToStandardClients(r); SendToOverlordClients(r); } else { SendToStandardClients(r); } SendResponse(e, null); return(true); }
/// <summary> /// Creates the network request in the format /// id of this protocol (short) /// terrain name (string) /// # of species in config (int) /// for each species in config /// species id (int) /// instance count (int) /// for each instance /// x-coordinate (float) /// y-coordinate (float) /// </summary> /// <param name="terrainName">the terain name</param> /// <param name="config">The species in the config, with species id's as keys /// and Vector2's of x- & y-coordinates as values.</param> public static NetworkRequest Prepare(string terrainName, Dictionary<int, List<Vector2>> config) { NetworkRequest request = new NetworkRequest(NetworkCode.CLASH_DEFENSE_SETUP); request.AddString(terrainName); request.AddInt32(config.Count); foreach(var pair in config){ request.AddInt32(pair.Key); List<Vector2> positions = pair.Value; request.AddInt32(positions.Count); foreach(Vector2 v in positions){ request.AddFloat(v.x); request.AddFloat(v.y); } } return request; }
public NetworkRequest ProcessRequest(NetworkRequest r) { Allowed = !model.DisableComparision; if (Allowed) { lock (sync) { if (null == cachedResponse || Environment.TickCount - cacheTime > 1000 * 300) { var si = new SystemInfo(); Node = new CompareNode(); Node.SetData("COMP-CPUSpeed", si.GetCPUSpeed().ToString()); Node.SetData("COMP-CPUType", si.GetCPUType()); Node.SetData("COMP-CPUCores", si.GetCPUCores().ToString()); Node.SetData("COMP-CPUThreads", si.GetCPUThreads().ToString()); Node.SetData("COMP-CPUBits", si.GetCPUBits().ToString()); Node.SetData("COMP-MoboBrand", si.GetMoboBrand()); Node.SetData("COMP-MoboModel", si.GetMoboModel()); Node.SetData("COMP-BIOSVersion", si.GetBIOSVersion()); Node.SetData("COMP-RAMSize", si.GetMemorySize().ToString()); Node.SetData("COMP-GPUModel", si.GetGPUDescription()); Node.SetData("COMP-GPUCount", si.GetGPUCount().ToString()); Node.SetData("COMP-GPUTotalMemory", si.GetTotalGPUMemory().ToString()); Node.SetData("COMP-DisplayPrimaryHeight", si.GetPrimaryDisplayHeight().ToString()); Node.SetData("COMP-DisplayPrimaryWidth", si.GetPrimaryDisplayWidth().ToString()); Node.SetData("COMP-DisplayTotalWidth", si.GetTotalDisplayWidth().ToString()); Node.SetData("COMP-DisplayTotalHeight", si.GetTotalDisplayHeight().ToString()); Node.SetData("COMP-HDDSize", si.GetTotalHDDSize().ToString()); Node.SetData("COMP-HDDFree", si.GetTotalHDDFree().ToString()); Node.SetData("COMP-HDDCount", si.GetHDDCount().ToString()); Node.SetData("COMP-NICSpeed", si.GetNetworkSpeed().ToString()); Node.SetData("COMP-SoundCard", si.GetSoundcardName()); cachedResponse = new NetworkRequest { Data = Serialize(this) }; cacheTime = Environment.TickCount; } } return(cachedResponse); } else { return(new NetworkRequest { Data = Serialize(this) }); } }
private void GetHttpRequest_Sync_Click(object sender, RoutedEventArgs e) { //var dd = m().Result; //byte[] bytes = null; //string str = null; //HttpRequest request = HttpRequest.CreatHttp("http://baike.baidu.com/cms/global/lemma_config.json"); //bytes = request.Get(); //str = Encoding.UTF8.GetString(bytes, 0, bytes.Length); //this.result_tbk.Text = str; NetworkRequest request = NetworkRequest.CreateHttp("http://baike.baidu.com/cms/global/lemma_config.json"); this.result_tbk.Text = request.Get <string>(); }
private bool HandleConversation(RequestEventArgs e, NetworkRequest req) { try { var verb = new ConversationVerb(); verb.ProcessRequest(req); if (chatController.HandleMessage(verb.SourceID, verb.Nickname, verb.Message)) { SendOk(e); return(true); } } catch { } return(false); }
private bool HandleInfo(RequestEventArgs e) { e.Response.Status = HttpStatusCode.OK; var verb = new InfoVerb(); verb.Node = model.LocalNode; NetworkRequest result = verb.CreateRequest(); byte[] data = Encoding.UTF8.GetBytes(result.Data); var generator = new ResponseWriter(); e.Response.ContentLength.Value = data.Length; generator.SendHeaders(e.Context, e.Response); e.Context.Stream.Write(data, 0, data.Length); e.Context.Stream.Flush(); return(true); }
private async void PostHttpRequest_Sync_Click(object sender, RoutedEventArgs e) { string url = "http://baike.baidu.com/cms/global/lemma_config.json"; byte[] bytes = null; string str = null; NetworkRequest request = NetworkRequest.CreateHttp(url); request.Body = "name=123"; bytes = request.Post(); request = NetworkRequest.CreateHttp(url); bytes = await request.PostAsync(); str = Encoding.UTF8.GetString(bytes, 0, bytes.Length); this.result_tbk.Text = str; }
public bool ReceiveResponse(NetworkRequest r) { try { var verb = Deserialise <BrowseVerb>(r.Data); NoCache = verb.NoCache; Path = verb.Path; Results = verb.Results; return(true); } // ReSharper disable EmptyGeneralCatchClause catch // ReSharper restore EmptyGeneralCatchClause { } return(false); }
public bool Handle(RequestEventArgs e) { NetworkRequest req = Multiplexor.Decode(e.Request); logger.Trace("Client rx: {0} p: {1} source: {2} overlord: {3}", req.Verb, req.Param, req.SourceID, req.OverlordID); switch (req.Verb) { case "BROWSE": return(HandleBrowse(e, req)); case "UPDATE": return(HandleUpdate(e, req)); case "INFO": return(HandleInfo(e)); case "NOOP": return(HandleNOOP(e, req)); case "GET": return(HandleGet(e, req)); case "DISCONNECT": return(HandleDisconnect(e)); case "CHAT": return(HandleChat(e, req)); case "COMPARE": return(HandleCompare(e, req)); case "SEARCH": return(HandleSearch(e, req)); case "CONVERSTATION": return(HandleConversation(e, req)); case "ADDDOWNLOAD": return(HandleAddDownload(e, req)); } return(false); }
private bool HandleNOOP(RequestEventArgs e, NetworkRequest req) { if (!string.IsNullOrEmpty(req.SourceID) && !string.IsNullOrEmpty(req.AuthKey)) { //check details are correct lock (sync) { if (null != connectedClientNodes.Where(n => n.Node.ID == req.SourceID && req.AuthKey == n.Node.Secret). FirstOrDefault()) { SendResponse(e, null); return(true); } } } SendError(e); return(false); }
/// <summary> /// Creates the network request in the format /// id of this protocol (short) /// terrain name (string) /// # of species in config (int) /// for each species in config /// species id (int) /// instance count (int) /// for each instance /// x-coordinate (float) /// y-coordinate (float) /// </summary> /// <param name="terrainName">the terain name</param> /// <param name="config">The species in the config, with species id's as keys /// and Vector2's of x- & y-coordinates as values.</param> public static NetworkRequest Prepare(string terrainName, Dictionary <int, List <Vector2> > config) { NetworkRequest request = new NetworkRequest(NetworkCode.CLASH_DEFENSE_SETUP); request.AddString(terrainName); request.AddInt32(config.Count); foreach (var pair in config) { request.AddInt32(pair.Key); List <Vector2> positions = pair.Value; request.AddInt32(positions.Count); foreach (Vector2 v in positions) { request.AddFloat(v.x); request.AddFloat(v.y); } } return(request); }
// Card Constructor //public void init(BattlePlayer player, int cardID, int diet, // int level, int attack, int health,string species_name, string type, string description public static NetworkRequest Prepare(int playerID, int cardID, int diet, int level, int attack, int health, string species_name, string type, string description) { NetworkRequest request = new NetworkRequest(NetworkCode.SUMMON_CARD); request.AddInt32(playerID); request.AddInt32(cardID); request.AddInt32(diet); request.AddInt32(level); request.AddInt32(attack); request.AddInt32(health); request.AddString(species_name); // These two not used request.AddString(type); request.AddString(description); return(request); }
async void OnItemSelected(object sender, SelectedItemChangedEventArgs args) { var item = args.SelectedItem as Item; if (item == null) { return; } //var Request = WebRequest.CreateHttp("http://www.zoupenghui.com"); //var str = await NetworkRequest.CreateHttp("http://www.zoupenghui.com").GetAsync(); //var content = Encoding.UTF8.GetString(str); //Debug.Write(content); string htmlContent = await NetworkRequest.CreateHttp("http://www.zoupenghui.com").GetAsync <string>(); Debug.Write(htmlContent); await Navigation.PushAsync(new ItemDetailPage(new ItemDetailViewModel(item))); // Manually deselect item ItemsListView.SelectedItem = null; }
protected override void OnHandshaked() { // Clear WebSocket send/receive buffers webSocketNetwork.ClearWsBuffers(); // Fill the WebSocket upgrade HTTP request OnWsConnecting(NetworkRequest); // Set empty body of the WebSocket upgrade HTTP request NetworkRequest.SetBody(); // Send the WebSocket upgrade HTTP request if (_syncConnect) { Send(NetworkRequest.Cache.Data); } else { SendAsync(NetworkRequest.Cache.Data); } }
protected override void OnReceived(Byte[] buffer, Int64 offset, Int64 size) { // Receive HTTP request header if (NetworkRequest.IsPendingHeader()) { if (NetworkRequest.ReceiveHeader(buffer, (Int32)offset, (Int32)size)) { OnReceivedRequestHeader(NetworkRequest); } size = 0; } // Check for HTTP request error if (NetworkRequest.IsErrorSet) { OnReceivedRequestError(NetworkRequest, "Invalid HTTP request!"); NetworkRequest.Clear(); Disconnect(); return; } // Receive HTTP request body if (NetworkRequest.ReceiveBody(buffer, (Int32)offset, (Int32)size)) { OnReceivedRequestInternal(NetworkRequest); NetworkRequest.Clear(); return; } // Check for HTTP request error if (!NetworkRequest.IsErrorSet) { return; } OnReceivedRequestError(NetworkRequest, "Invalid HTTP request!"); NetworkRequest.Clear(); Disconnect(); }
public bool ReceiveResponse(NetworkRequest r) { try { var inc = Deserialise <CompareVerb>(r.Data); Node = inc.Node; Allowed = inc.Allowed; if (null != Node) { Node.Score = inc.Node.GetSystemScore(); } else { Node = new CompareNode(); } return(true); } catch { return(false); } }
public static NetworkRequest Prepare( int playerId, int ecosystemId, int attemptId, bool allowHints, int hintId, int timesteps, string config ) { NetworkRequest request = new NetworkRequest(NetworkCode.CONVERGE_NEW_ATTEMPT); request.AddInt32(playerId); request.AddInt32(ecosystemId); request.AddInt32(attemptId); request.AddBool(allowHints); request.AddInt32(hintId); request.AddInt32(timesteps); request.AddString(config); return(request); }
private async void GetUserInfo() { GetUserInforRequestParams sParams = new GetUserInforRequestParams(); sParams.deviceId = Configuration.GetDeviceUniqueId(); HttpSerializeData <GetUserInforRequestParams> httpSerializeData = new HttpSerializeData <GetUserInforRequestParams>("getUserInfo.html", sParams); NetworkRequest networkRequest = NetworkRequest.CreateHttp(httpSerializeData.GetURL()); var resultJson = await networkRequest.PostAsync <string>(JsonAnalysis.Serialize(httpSerializeData)); HttpDeserializeData <GetUserInforResponseData> sData = JsonAnalysis.Deserialize <HttpDeserializeData <GetUserInforResponseData> >(resultJson); if (sData.result.error == "01") // 未绑定账户 { //todo:跳转到绑定页面,进行用户绑定 } else if (sData.status.code.Equals("0000")) { //todo:跳转到签到页面 } else { } }
/// <summary> /// Envía una NetworkRequest al servidor /// </summary> /// <param name="dataToSend">Req.</param> public void Send(string dataToSend, int request_type = DATAGRAM_NORMAL) { var msg = Encoding.UTF8.GetBytes(dataToSend); byte[] datagram = BitConverter.GetBytes(request_type) .Concat(BitConverter.GetBytes(_datagramId)) .Concat(CalculateSha256(msg)) .Concat(msg).ToArray(); _datagramId++; if (request_type == DATAGRAM_RELIABLE) { //Apuntamos este paquete como 'pendiente de confirmar su recepción' var req = new NetworkRequest(_datagramId, datagram); _pendingSentRequests[_datagramId] = req; } try { _client.Send(datagram, datagram.Length); } catch (SocketException e) { Debug.Log(e); } }
private bool HandleUpdate(RequestEventArgs e, NetworkRequest req) { if (req.AuthKey == model.Network.Overlord.Secret) { model.Network.Overlord.LastUpdate = Environment.TickCount; var verb = new UpdateVerb(); verb.ProcessRequest(req); foreach (Node node in verb.Nodes) { Node search = model.Network.Nodes.Where(i => i.ID == node.ID).FirstOrDefault(); if (search == null) { //Dont allow partial updates to create clients. Only full updates should contain the online flag. if (node.ContainsKey("Online") && node.ContainsKey("Nickname") && node.ContainsKey("ID")) { model.Network.Nodes.Add(node); } } else { foreach (var param in node.Data) { search.SetData(param.Key, param.Value); } //Has the client disconnected? if (!search.Online) { model.Network.Nodes.Remove(node); logger.Trace("Client: Node offline update: " + node.ID); } } } SendOk(e); return(true); } return(false); }
private void uplink_OnDisconnect(Uplink s) { //A remote overlord has disconnected, notify local clients of all associated peering going offline. lock (sync) { logger.Debug("Server had uplink disconnect to {0}", s.Destination.ID); extOverlordServers.Remove(s); var verb = new UpdateVerb(); foreach (Node node in externalNodes.ToList()) { if (node.OverlordID == s.Destination.ID || node.ID == s.Destination.ID) { //Check the node isnt now logged on locally if (connectedClientNodes.Where(n => n.Node.ID == node.ID).Count() > 0) { continue; } verb.Nodes.Add(new Node { ID = node.ID, Online = false }); } externalNodes.Remove(node); } verb.Nodes.Add(new Node { ID = s.Destination.ID, Online = false }); NetworkRequest req = verb.CreateRequest(); req.OverlordID = serverNode.ID; SendToStandardClients(req); //Remove the overlord itself if (extOverlordServers.Contains(s)) { extOverlordServers.Remove(s); } } }
public static void Send(NetworkRequest packet) { requests.Enqueue(packet); }
public static NetworkRequest Prepare() { NetworkRequest request = new NetworkRequest(NetworkCode.TOPLIST); return request; }
public static NetworkRequest Prepare() { NetworkRequest request = new NetworkRequest(NetworkCode.NOWAITFORGAME); return request; }
private void ProcessLanConnection(object o) { mserver.SendMessage(WhoVerb.CreateRequest()); Domain.Entities.Network network = model.Network; network.PropertyChanged += network_PropertyChanged; while (run) { if (network.State != ConnectionState.Connected) { //Not connected so connect automatically.. //Regenerate local secret to stop any updates if we reconnecting.. network.Overlord = new Node(); network.Overlord.Secret = IDService.CreateID(); //Clear old peers network.Nodes.Clear(); //Build up a prioritised server list var availibleNodes = new List <DetectedNode>(); List <DetectedNode> detectedPeers = peerFinder.Peers.ToList(); //Prioritise a server we havent connected to already foreach (DetectedNode peer in detectedPeers) { if (attemptedPeers.Where(s => s.Node == peer).Count() == 0) { availibleNodes.Add(peer); } } foreach (LanPeer peer in attemptedPeers.OrderByDescending(x => x.LastConnectionTime)) { availibleNodes.Add(peer.Node); } while (network.State != ConnectionState.Connected && availibleNodes.Count > 0) { DetectedNode node = availibleNodes[0]; availibleNodes.RemoveAt(0); if (!Connect(network, node)) { peerFinder.RemovePeer(node); } } } if (network.State == ConnectionState.Connected) { CheckModelChanges(); //Check for network timeout if ((Environment.TickCount - model.Network.Overlord.LastUpdate) > Model.UPLINK_TIMEOUT) { //We havent recently sent/recieved so went a noop so check we are still connected. var req = new NetworkRequest { Verb = "NOOP", SourceID = model.LocalNode.ID, AuthKey = model.Network.Overlord.Secret }; var client = new Client(model.LocalNode); if (!client.Execute(req, model.Network.Overlord, 4000)) { if (network.State == ConnectionState.Connected) { Disconnect(); } } } workerEvent.WaitOne(10000); } else { workerEvent.WaitOne(100); } } }
public static NetworkRequest Prepare() { NetworkRequest request = new NetworkRequest(NetworkCode.QUIT_ROOM); return(request); }
public static NetworkRequest Prepare() { NetworkRequest request = new NetworkRequest(NetworkCode.PREDICTION); return(request); }
public static void add(short request_id, NetworkRequest request) { requestTable.Add(request_id, request); }
/* which game the client wants list for * 0 - Don't eat me! (no server required) * 1 - Cards of the Wild * 2 - Running Rhino * 3 - Clash of Species */ public static NetworkRequest Prepare(int gameType) { NetworkRequest request = new NetworkRequest(NetworkCode.WAITLIST); request.AddInt32(gameType); return request; }
public static NetworkRequest Prepare() { NetworkRequest request = new NetworkRequest(NetworkCode.WORLD); return(request); }