public void ServerToClientSetDisconnectReason(ulong netId, ConnectStatus status) { var writer = new FastBufferWriter(sizeof(ConnectStatus), Allocator.Temp); writer.WriteValueSafe(status); NetworkManager.Singleton.CustomMessagingManager.SendNamedMessage("ServerToClientSetDisconnectReason", netId, writer); }
private void ConnectionUpdate(ConnectStatus conStat) { if (InvokeRequired) { Invoke(new Action <ConnectStatus>(ConnectionUpdate), conStat); return; } switch (conStat) { case ConnectStatus.Disconnected: lblConnectStatus.Text = "SSH: DISCONNECTED!"; lblConnectStatus.ForeColor = Color.Black; lblConnectStatus.Font = new Font(Label.DefaultFont, FontStyle.Regular); break; case ConnectStatus.Connected: lblConnectStatus.Text = "SSH: Connected!"; lblConnectStatus.ForeColor = Color.Green; lblConnectStatus.Font = new Font(Label.DefaultFont, FontStyle.Regular); break; case ConnectStatus.Error: lblConnectStatus.Text = "SSH: ERROR DURING SESSION!"; lblConnectStatus.ForeColor = Color.Red; lblConnectStatus.Font = new Font(Label.DefaultFont, FontStyle.Bold); break; case ConnectStatus.Connecting: lblConnectStatus.Text = "SSH: Connecting..."; lblConnectStatus.ForeColor = Color.Black; lblConnectStatus.Font = new Font(Label.DefaultFont, FontStyle.Bold); break; } }
////////////////////////////////////////////////////////////////////////// #region Thread For Connect public void ConnectThread() { m_connectStatus = ConnectStatus.CONNECTING; while (true) { m_Socket.close(); Console.WriteLine("connect:" + m_strServerAddr); m_strConnectResult = m_Socket.connect(m_strServerAddr, m_nServerPort); if (m_strConnectResult.Length == 0 && m_Socket.IsValid) { m_SocketInputStream = new SocketInputStream(m_Socket); m_SocketOutputStream = new SocketOutputStream(m_Socket); m_connectStatus = ConnectStatus.CONNECTED; break; } else { LogModule.WarningLog(m_strConnectResult); } m_Socket.close(); Thread.Sleep(m_nConnectSleep); m_connectStatus = ConnectStatus.DISCONNECTED; break; } m_bConnectFinish = true; }
/// <summary> /// 连接dsp网关 /// </summary> /// <returns></returns> public static bool Connect() { HttpClient client = new HttpClient(); HttpResponseMessage response = client.GetAsync(ConfigurationManager.AppSettings["UpmsUrl"].Trim() + "?name=" + ConfigurationManager.AppSettings["UserCode"].Trim() + "&password="******"UserPwd"].Trim() + "&mac=00-00-00-00-00-00&ip=&applicationmark=03").Result; if (response == null) { throw new Exception("Upms登陆失败!"); } string JsonData = response.Content.ReadAsStringAsync().Result; AuthToken auth = JsonConvert.DeserializeObject <AuthToken>(JsonData); GatewayAdapter.Instance.SetToken(auth.result.Token); GatewayAdapter.Instance.Init(); GatewayAdapter.Instance.Start(); ConnectStatus status = GatewayAdapter.Instance.GetConnectStatus(); if (status == ConnectStatus.ConnectSuccess) { return(true); } else { throw new Exception("无法连接到DSP/MDP服务器."); } }
/// <summary> /// OnClose event handler /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private static void WebSocket_OnClose(object sender, CloseEventArgs e) { ConnectStatus.SetText("Disconnected"); ServerConsole.Disable(); PlayerCounter.Reset(); Update.StopThreads(); }
/// <summary> /// 连接错误处理 /// </summary> /// <param name="error"></param> /// <param name="errorLog"></param> public void ProcessConectionError(Error error, string errorLog) { currentStatus = ConnectStatus.CONNECT_FAIL; lastError = error; Debug.LogWarning(errorLog); Close(); beginConnectElapsed = 0f; if (_retryNum > 0) { _retryNum--; SetReConnectStatus(); } else { if (_reconnectNum > 0) { _reconnectNum--; StartCoroutine(OnWaitForReconnect()); } else { OnDisconnect(); } } }
/// <summary> /// 设置重连状态 /// </summary> public void SetReConnectStatus() { if (currentStatus != ConnectStatus.CONNECTING && currentStatus != ConnectStatus.READY_TO_RECONNECT && currentStatus != ConnectStatus.RECONNECT) { currentStatus = ConnectStatus.RECONNECT; } }
private Image GetSignalIntensityImage(ConnectStatus connectStatus) { Image rtn = null; switch (connectStatus) { case ConnectStatus.Strong: rtn = Properties.Resources.wireless_blue; break; case ConnectStatus.Good: rtn = Properties.Resources.wireless_green; break; case ConnectStatus.Medium: rtn = Properties.Resources.wireless_yellow; break; case ConnectStatus.Broken: rtn = Properties.Resources.wireless_red; break; } return(rtn); }
internal Network() { try { tcpClient = new TcpClient("localhost", PORT); serverStatus = ConnectStatus.Online; networkStream = tcpClient.GetStream(); byte[] message = new byte[4096]; while (true) { try { ReadStream(networkStream, message); } catch (Exception e) { Console.WriteLine("Erreur lors de la réception d'un paquet ... Erreur : " + e.Message); } } } catch { serverStatus = ConnectStatus.Offline; } }
//设备移除通知 private void FrmMain_OnSpecifiedDeviceRemoved(object sender, EventArgs e) { devConnectStatus = ConnectStatus.Disconnected; if (this.UseSimplifiedChinese.Checked) { this.notifier.ShowBalloonTip(1, "交互式电子白板", "设备连接断开!", ToolTipIcon.Error); this.notifier.Text = "服务停止运行!"; this.notifier.Icon = new Icon(asm.GetManifestResourceStream("GK.WhiteboardServer.Image.grayNotify.ico")); } else if (this.UseTraditionalChinese.Checked) { this.notifier.ShowBalloonTip(1, "交互式電子白板", "設備連接斷開!", ToolTipIcon.Error); this.notifier.Text = "服務停止运行!"; this.notifier.Icon = new Icon(asm.GetManifestResourceStream("GK.WhiteboardServer.Image.grayNotify.ico")); } else if (this.UseEnglish.Checked) { this.notifier.ShowBalloonTip(1, "Interactive whiteboard", "Device is disconnected!", ToolTipIcon.Error); this.notifier.Text = "Service stops running!"; this.notifier.Icon = new Icon(asm.GetManifestResourceStream("GK.WhiteboardServer.Image.grayNotify.ico")); } else if (this.UseGerman.Checked) { this.notifier.ShowBalloonTip(1, "Interactive Whiteboard", "Gerät ist nicht angeschlossen!", ToolTipIcon.Error); this.notifier.Text = "Gerät ist getrennt!"; this.notifier.Icon = new Icon(asm.GetManifestResourceStream("GK.WhiteboardServer.Image.grayNotify.ico")); } }
void ConnectLost() { m_connectStatus = ConnectStatus.DISCONNECTED; if (null != m_delConnectLost) { m_delConnectLost(); } }
public static SNRESULT GetConnectStatus(int target, out ConnectStatus status, out string usage) { SNRESULT snresult = Is32Bit() ? GetConnectStatusX86(target, out uint num, out IntPtr ptr) : GetConnectStatusX64(target, out num, out ptr); status = (ConnectStatus)num; usage = Utf8ToString(ptr, uint.MaxValue); return(snresult); }
private static void Connection_StatusChanged(Connection connection, ConnectStatus newStatus, Error error) { Console.WriteLine($"Connect status changed: {connection.ID} {newStatus} {error}"); if (newStatus == ConnectStatus.Disconnected && error == Error.FailedConnectionInitialisation) { Console.WriteLine("Looks like there is no server running."); } }
private IEnumerator WaitToDisconnectClient(ulong clientId, ConnectStatus reason) { gameNetPortal.ServerToClientSetDisconnectReason(clientId, reason); yield return(new WaitForSeconds(0)); KickClient(clientId); }
private void OnConnectFinished(ConnectStatus status) { //on success, there is nothing to do (the MLAPI scene management system will take us to the next scene). //on failure, we must raise an event so that the UI layer can display something. Debug.Log("RecvConnectFinished Got status: " + status); ConnectFinished?.Invoke(status); }
//================================== //显示当前蓝牙的状态 private void ChangeBleStatus(ConnectStatus status) { this.CurStatus = status; //foreach (var item in dictStatusImg) //{ // item.Value.enabled = item.Key == status ? true : false; //} }
public void makeConnect(ConnectStatus flag) { this.Dispatcher.Invoke(new Action(() => { switch (flag) { case ConnectStatus.Connect: ConnectButton.Content = "Connect"; ConnectButton.IsEnabled = true; IPBox.IsEnabled = true; PortBox.IsEnabled = true; NickBox.IsEnabled = true; KeyBox.IsEnabled = true; messageArea.Width = 460; sendBox.Width = 460; ConnectButton.Margin = new Thickness(479, 334, 0, 0); //Title TitleTextBlock.Text = programTitle; break; case ConnectStatus.Disconnect: ConnectButton.Content = "Disconnect"; ConnectButton.IsEnabled = true; IPBox.IsEnabled = false; PortBox.IsEnabled = false; NickBox.IsEnabled = false; KeyBox.IsEnabled = false; messageArea.Width = 660; sendBox.Width = 660; ConnectButton.Margin = new Thickness(479, 435, 0, 0); //Title TitleTextBlock.Text = string.Format("{0} @ {1} : {2}", nickname, IPBox.Text, PortBox.Text); break; case ConnectStatus.Working: ConnectButton.Content = "Wait..."; ConnectButton.IsEnabled = false; IPBox.IsEnabled = false; PortBox.IsEnabled = false; NickBox.IsEnabled = false; KeyBox.IsEnabled = false; break; default: break; } })); }
protected override void OnDisconnected(Socket socket) { base.OnDisconnected(socket); //UnityEngine.Debug.Log("Server Offline"); if (socket == mySocket) { connectStatus = ConnectStatus.Closed; } }
public void ConnectToServer(string ipAddr, int port) { if (connectStatus <= ConnectStatus.Connected) { return; } connectStatus = ConnectStatus.Connecting; new Thread(() => { Connect(ipAddr, port); }).Start(); }
private void HandleConnectionFinished(ConnectStatus status) { if (status != ConnectStatus.Success) { DisconnectReason.SetDisconnectReason(status); } OnConnectionFinished?.Invoke(status); }
public void DisconnectServer() { if (m_strServerAddr == null || m_strServerAddr.Length == 0) { return; } m_Socket.close(); m_connectStatus = ConnectStatus.DISCONNECTED; }
/// <summary> /// Disconnects the websocket /// </summary> public static void Disconnect() { if (!IsConnected()) { MessageBox.Show("You aren't connected.", "Sharpcon", MessageBoxButtons.OK, MessageBoxIcon.Warning); return; } ConnectStatus.SetText("Disconnecting..."); webSocket.CloseAsync(); }
/// <summary> /// Responsible for the Server->Client RPC's of the connection result. /// </summary> /// <param name="netId"> id of the client to send to </param> /// <param name="status"> the status to pass to the client</param> public void S2CConnectResult(ulong netId, ConnectStatus status) { using (var buffer = PooledNetworkBuffer.Get()) { using (var writer = PooledNetworkWriter.Get(buffer)) { writer.WriteInt32((int)status); MLAPI.Messaging.CustomMessagingManager.SendNamedMessage("S2C_ConnectResult", netId, buffer, NetworkChannel.Internal); } } }
/// <summary> /// Connection failed if the current state equals the given state /// </summary> /// <param name="state"></param> /// <param name="status"></param> private void ConnectFailed(ConnectionState state, ConnectStatus status) { if (State != state) { return; } SetConnectionState(ConnectionState.ReadyToConnect); retryCount = 0; timer.Stop(); HandleConnected(status); }
private void RegisterClientMessageHandlers() { MLAPI.Messaging.CustomMessagingManager.RegisterNamedMessageHandler("S2C_ConnectResult", (senderClientId, stream) => { using (var reader = PooledNetworkReader.Get(stream)) { ConnectStatus status = (ConnectStatus)reader.ReadInt32(); ConnectFinished?.Invoke(status); } }); }
//-------------------------------------------- Event Observer ------------------------------------------------------------------------- /// <summary> /// FFTAICommunicationOperation Init /// </summary> public FFTAICommunicationOperation() { BasicPingOperation = new BasicPingOperation(); BasicSocketOperation = new BasicSocketOperation(); BasicTcpClientOperation = new BasicTcpClientOperation(); BasicUdpClientOperation = new BasicUdpClientOperation(); MMUConnectStatus = ConnectStatus.DisConnected; Observers = new List <IFFTAICommunicationOperationObserver>(); ConnectionStatusObservers = new List <IFFTAICommunicationOperationConnectionStatusObserver>(); }
protected override void RegisterClientMessageHandlers() { CustomMessagingManager.RegisterNamedMessageHandler(NetMessageName.s2c_ConnectResult, (ulSenderClientId, hStream) => { using (var hReader = PooledNetworkReader.Get(hStream)) { ConnectStatus eStatus = (ConnectStatus)hReader.ReadInt32(); m_hConnectFinishCallback?.Invoke(eStatus); } }); }
/// <summary> /// 循环检测重连状态 /// </summary> void Update() { if (currentStatus == ConnectStatus.RECONNECT) { currentStatus = ConnectStatus.READY_TO_RECONNECT; StartCoroutine(Connect()); } if (IsConnected()) { ReadMsg(); } }
private void ApprovalCheck(byte[] connectionData, ulong clientId, NetworkManager.ConnectionApprovedDelegate callback) { if (connectionData.Length > MaxConnectionPayload) { callback(false, 0, false, null, null); return; } if (clientId == NetworkManager.Singleton.LocalClientId) { callback(false, null, true, null, null); return; } string payload = Encoding.UTF8.GetString(connectionData); var connectionPayload = JsonUtility.FromJson <ConnectionPayload>(payload); ConnectStatus gameReturnStatus = ConnectStatus.Success; // This stops us from running multiple standalone builds since // they disconnect eachother when trying to join // // if (clientData.ContainsKey(connectionPayload.clientGUID)) // { // ulong oldClientId = clientData[connectionPayload.clientGUID].ClientId; // StartCoroutine(WaitToDisconnectClient(oldClientId, ConnectStatus.LoggedInAgain)); // } if (gameInProgress) { gameReturnStatus = ConnectStatus.GameInProgress; } else if (clientData.Count >= maxPlayers) { gameReturnStatus = ConnectStatus.ServerFull; } if (gameReturnStatus == ConnectStatus.Success) { clientSceneMap[clientId] = connectionPayload.clientScene; clientIdToGuid[clientId] = connectionPayload.clientGUID; clientData[connectionPayload.clientGUID] = new PlayerData(connectionPayload.playerName, clientId); } callback(false, 0, true, null, null); gameNetPortal.ServerToClientConnectResult(clientId, gameReturnStatus); if (gameReturnStatus != ConnectStatus.Success) { StartCoroutine(WaitToDisconnectClient(clientId, gameReturnStatus)); } }
/// <summary> /// Callback when the server sends us back a connection finished event. /// </summary> /// <param name="status"></param> private void OnConnectFinished(ConnectStatus status) { if (status != ConnectStatus.Success) { m_ResponsePopup.SetupNotifierDisplay("Connection Failed", "Something went wrong", false, true); } else { //Here we want to display that the connection was successful before we load in game. m_ResponsePopup.SetupNotifierDisplay("Success!", "Joining Now", false, false); } }
void _client_ConnectStatusChange(ulong serverID, ConnectStatus newStatus, uint errorNumber) { if(newStatus == ConnectStatus.STATUS_CONNECTION_ESTABLISHED) { List<ushort> clients = _client.getChannelClientList(); for (int i = 0; i < clients.Count; i++) { string clientName = _client.getStringVariable(clients[i], ClientProperties.CLIENT_NICKNAME); _clients.Add(clientName, clients[i]); addToClientList(clientName); } } }
void _client_ConnectStatusChange(ulong serverID, ConnectStatus newStatus, uint errorNumber) { if (newStatus == ConnectStatus.STATUS_CONNECTION_ESTABLISHED) { List <ushort> clients = _client.getChannelClientList(); for (int i = 0; i < clients.Count; i++) { string clientName = _client.getStringVariable(clients[i], ClientProperties.CLIENT_NICKNAME); _clients.Add(clientName, clients[i]); addToClientList(clientName); } } }
public MainWindow() { if (App.IsShutDown) return; InitializeComponent(); InitializeBinding(); if ( settings.ProxyType == "SSH" && Plink.CheckSettings() || settings.ProxyType == "HTTP" ) WindowState = WindowState.Minimized; connectStatus = new ConnectStatus(this); plink = new Plink(); privoxy = new Privoxy(); }
/// <summary> /// Connection callback /// </summary> /// <param name="client">client</param> /// <param name="status">connection status</param> public void OnParallelClientConnected(IParallelClient client, ConnectStatus status) { if (status == ConnectStatus.SUCCESS) { Debug.Print("Connected: " + client.Guid.ToString()); Task t = new Task(delegate() { for (int i = 0; i < m_count; i++) { byte[] array = Encoding.ASCII.GetBytes("[" + i + "] " + m_sendText); client.Send(array); } }); t.Start(); } else { Debug.Print(status.ToString()); } }
protected override bool connect() { IPAddress addr = IPAddress.Parse(_ep.host); IPEndPoint ep = new IPEndPoint(addr, _ep.port); _status = ConnectStatus.CONNECTING; _sock = newSocket(); _sock.BeginConnect(ep, delegate(IAsyncResult ar) { RpcConnectionAsyncSocket s = (RpcConnectionAsyncSocket)ar.AsyncState; try { s.handler.EndConnect(ar); if (s.handler.Connected == true) { s.onConnected(); //s._thread = new Thread(run); //s._thread.Start(); // launch one thread for data recieving . } } catch (Exception e) { // connect failed //s.onDisconnected(); RpcCommunicator.instance().logger.error("connect to host failed!"); } //connect failed, trigger event to user as Promise if (s.handler.Connected == false) { foreach (RpcMessage m in _unsent_msglist) { RpcAsyncContext ctx = m.async.ctx; ctx.exception = new RpcException(RpcException.RPCERROR_CONNECT_FAILED); m.async.promise.onError(ctx); } _unsent_msglist.Clear(); } s._status = ConnectStatus.STOPPED; }, this); return true; }
protected override void onDisconnected() { base.onDisconnected(); _unsent_msglist.Clear(); _status = ConnectStatus.STOPPED; }
/// <summary> /// Connection callback /// </summary> /// <param name="client">client</param> /// <param name="status">connection status</param> public void OnConnected(INetworkClient client, ConnectStatus status) { if (status == ConnectStatus.SUCCESS) { lock (m_generalLock) { m_clientSet.Add(client); } CurSocketCount++; if (CurSocketCount == 1) { if (CallBackObj != null) { Task t = new Task(delegate() { CallBackObj.OnConnected(this, status); }); t.Start(); //CallBackObj.OnConnected(this, status); } } } }
/// <summary> /// Connection callback /// </summary> /// <param name="client">client</param> /// <param name="status">connection status</param> public void OnConnected(INetworkClient client, ConnectStatus status) { lock (m_generalLock) { m_curConnectionTry++; } if (status == ConnectStatus.SUCCESS) { lock (m_generalLock) { m_clientSet.Add(client); } CurSocketCount++; if (CurSocketCount == 1) { Task t = new Task(delegate() { OnParallelClientConnected(this, status); }); t.Start(); } } else { lock (m_generalLock) { // if all sockets failed, trigger IsConnectionAlive to false if (CurSocketCount==0 && m_curConnectionTry == MaxSocketCount) { m_sendReadyEvent.SetEvent(); IsConnectionAlive = false; Task t = new Task(delegate() { OnParallelClientConnected(this, status); }); t.Start(); } } } }
/// <summary> /// This method sends a community account authorization response to a /// game server, or game client (for initial login). /// </summary> /// <param name="Address">Supplies the message recipient.</param> /// <param name="AccountName">Supplies the account name.</param> /// <param name="Status">Supplies the authorization status /// code.</param> public void SendMstCommunityAccountAuthorization(IPEndPoint Address, string AccountName, ConnectStatus Status) { using (ExoBuildBuffer Builder = new ExoBuildBuffer()) { Builder.WriteDWORD((uint)MstCmd.CommunityAuthorization); Builder.WriteSmallString(AccountName, 16); Builder.WriteWORD((ushort)Status); Logger.Log(LogLevel.Verbose, "NWMasterServer.SendMstCommunityAccountAuthorization(): Authorizing account {0} for server {1} with status {2}.", AccountName, Address, Status); SendRawDataToMstClient(Address, Builder); } }
void onConnectStatusChange(ulong serverID, ConnectStatus newStatus, uint errorNumber) { if (newStatus == ConnectStatus.STATUS_CONNECTED) { _state = ClientState.STATE_CONNECTED; _connectedServerID = serverID; ushort clientID; if (GetClientID(_connectedServerID, out clientID) != Error.ok) { notifyError("Cannot get client ID."); return; } _currentClientID = clientID; } else if (newStatus == ConnectStatus.STATUS_CONNECTION_ESTABLISHED) _currentClientName = getStringVariable(_currentClientID, ClientProperties.CLIENT_NICKNAME); notify(string.Format("Connect status changed: ServerID:{0} Status:{1} Error:{2}", serverID, newStatus.ToString(), errorNumber)); /* Failed to connect ? */ if (newStatus == ConnectStatus.STATUS_DISCONNECTED && errorNumber == Error.failed_connection_initialisation) { notifyError(string.Format("Looks like there is no server running, terminate!")); return; } if (ConnectStatusChange != null) ConnectStatusChange(serverID, newStatus, errorNumber); }
public void OnConnected(INetworkClient client, ConnectStatus status) { MessageBox.Show("Connected to the server!"); }