public async Task RefreshLobby() { lb_lobs.Items.Clear(); Cursor = Cursors.WaitCursor; var lobs = await Task.Run(() => { try { return(StringHelper.ParseComData(TcpClient_.SendMessage_ShortConnect("query_lobbies@", Global.SelectedServer))); } catch (Exception ex) { MessageBox.Show(ex.Message); return(null); } }); Cursor = Cursors.Default; if (lobs == null) { return; } if (lobs.Count == 0) { MessageBox.Show("当前服务器中没有任何房间"); return; } foreach (var l in lobs) { lb_lobs.Items.Add(l); } }
private async void testCurrentServer_Click(Object sender, EventArgs e) { Cursor = Cursors.WaitCursor; bool ok = await Task.Run(() => { try { UdpClient_ udpClient_ = new UdpClient_(); string tcpRe = TcpClient_.SendMessage_ShortConnect("ping@", Global.SelectedServer); string udpRe = udpClient_.SendMessage("ping@", Global.SelectedServer); if (tcpRe == "OK" && udpRe == "OK") { return(true); } return(false); } catch (Exception ex) { MessageBox.Show(ex.Message); return(false); } }); if (ok) { MessageBox.Show("OK", Global.SelectedServer.Readable()); } Cursor = Cursors.Default; }
private void btn_OK_Click(Object sender, EventArgs e) { var rep = TcpClient_.SendMessage_ShortConnect(string.Format("join_lobby@{0},{1},{2}", lobName, Global.MyName, tb_text.Text), Global.SelectedServer); switch (rep) { case "PSWD_INCOR": MessageBox.Show("密码错误"); return; case "NO_SUCH_LOBBY": MessageBox.Show("该房间当前不可使用"); Close(); return; case "ALREADY_IN_LOBBY": MessageBox.Show("您已在房间中"); Close(); return; default: break; } var url___cookie = Regex.Split(rep, @"\$_\$", RegexOptions.IgnoreCase); InLobby inLobby = new InLobby(false, lobName, url___cookie[1], url___cookie[0], new LobbyBorrower(Global.SelectedServer, lobName, tb_text.Text)); inLobby.Show(); Close(); }
public string Return() { try { return(TcpClient_.SendMessage_ShortConnect("delete_lobby@" + LobbyName, ipport)); } catch (Exception ex) { stLogger.Log(ex.ToString()); throw; } }
public string Lend(string msg) { try { return(TcpClient_.SendMessage_ShortConnect(msg, ipport)); } catch (Exception ex) { stLogger.Log(ex.ToString()); throw; } }
public string Leave(string myName) { try { return(TcpClient_.SendMessage_ShortConnect( new ypmPackage("exit_lobby", new string[] { myName, LobbyName }).ToString() , ipport)); } catch (Exception ex) { stLogger.Log(ex.ToString()); throw; } }