private void start_Click(object sender, RoutedEventArgs e) { serverData s = (serverData)listView.SelectedItem; if (s == null) { System.Windows.Forms.MessageBox.Show("请先选中服务器", "提示"); } else { mConfig = s.config; Thread ovThread = new Thread(startOpenVpn); ovThread.Start(); } }
/// <summary> /// Get the server port. /// </summary> /// <param name="server"></param> private void HandleServerComm(object server) { TcpClient tcpClient = (TcpClient)server; NetworkStream clientStream = tcpClient.GetStream(); Logger.ShowMessage(String.Format("Waiting for data.")); byte[] message = new byte[4096]; int bytesRead; while (true) { bytesRead = 0; try { // Blocks until client sends a message bytesRead = clientStream.Read(message, 0, 4096); } catch { // Socket error occurred Logger.ShowMessage("Could not read data from the server.", LogType.ERROR); break; } Opcode opcode = new Opcode(); // Set the opcode + the data opcode.opcode = (ClientMessage)message[0]; opcode.data = message.Where(b => b != message[0]).ToArray(); // Pack the byte array byte[] data = new byte[bytesRead]; Buffer.BlockCopy(opcode.data, 0, data, 0, bytesRead); // DEBUG string showBitStream = ""; foreach (byte receivedByte in data) { showBitStream += Convert.ToString(receivedByte, 2).PadLeft(8, '0'); } Logger.ShowMessage(showBitStream); // DEBUG.END ASCIIEncoding encoding = new ASCIIEncoding(); //packet = SENDER|MESSAGE int port = int.Parse(encoding.GetString(opcode.data)); // Add the client to our list. serverData serverStruct = new serverData { Server = (TcpClient)server, ServerPort = port, ClientsConnected = 0 }; Servers.Add(serverStruct); Logger.ShowMessage(String.Format("Server connected on {0}:{1}", ((IPEndPoint)tcpClient.Client.RemoteEndPoint).Address, port)); } }
private void sendServerIp(TcpClient client, serverData server) { String serverIp = ((IPEndPoint)server.Server.Client.RemoteEndPoint).Address.ToString(); int serverPort = server.ServerPort; // Send Packet back with the server ip. // create the packet that will be send ASCIIEncoding encoder = new ASCIIEncoding(); byte[] data = encoder.GetBytes(String.Format("{0}|{1}", serverIp, serverPort)); PacketHandler.sendPacket(client, ClientMessage.SMSG_SERVERIP, data); Logger.ShowMessage(String.Format("Sended server ip: {0}:{1} to the client with opcode SMSG_SERVERIP", serverIp, serverPort)); }
private void Start() { this.uid = base.transform.FindChild("uid").GetComponent <InputField>(); this.tkn = base.transform.FindChild("tkn").GetComponent <InputField>(); this.bt = base.transform.FindChild("bt").GetComponent <Button>(); this.serverInfo = base.transform.FindChild("serverPanel").gameObject; this.servers = base.transform.FindChild("serverPanel/servers"); this.btn_serverSelect = base.transform.FindChild("serverInfo/btn_selectServer").GetComponent <Button>(); this.textServer = base.transform.FindChild("serverInfo/txt_server").GetComponent <Text>(); this.tg = base.transform.FindChild("s").GetComponent <ToggleGroup>(); this.bt.onClick.AddListener(new UnityAction(this.onCLick)); this.btn_serverSelect.onClick.AddListener(new UnityAction(this.onServerSlectClick)); this.zhanghao = base.transform.FindChild("idbtn").GetComponent <Button>(); this.zhanghao.onClick.AddListener(new UnityAction(this.onZhanghao)); this.serverList = new List <serverData>(); serverData serverData = new serverData(); serverData.ip = "10.1.8.76"; serverData.port = 64999u; serverData.sid = 1u; serverData.clnt = 0u; this.serverList.Add(serverData); serverData = new serverData(); serverData.ip = "10.1.8.76"; serverData.port = 63999u; serverData.sid = 2u; serverData.clnt = 0u; this.serverList.Add(serverData); serverData = new serverData(); serverData.ip = "10.1.8.76"; serverData.port = 62999u; serverData.sid = 3u; serverData.clnt = 0u; this.serverList.Add(serverData); serverData = new serverData(); serverData.ip = "10.1.8.76"; serverData.port = 61999u; serverData.sid = 4u; serverData.clnt = 0u; this.serverList.Add(serverData); serverData = new serverData(); serverData.ip = "120.132.13.141"; serverData.port = 63999u; serverData.sid = 1u; serverData.clnt = 0u; this.serverList.Add(serverData); serverData = new serverData(); serverData.ip = "10.1.6.181"; serverData.port = 54999u; serverData.sid = 1u; serverData.clnt = 0u; this.serverList.Add(serverData); serverData = new serverData(); serverData.ip = "a3.test.utogame.com"; serverData.port = 65019u; serverData.sid = 1u; serverData.clnt = 0u; this.serverList.Add(serverData); serverData = new serverData(); serverData.ip = "10.1.6.200"; serverData.port = 64999u; serverData.sid = 1u; serverData.clnt = 0u; this.serverList.Add(serverData); serverData = new serverData(); serverData.ip = "10.1.8.7"; serverData.port = 64999u; serverData.sid = 1u; serverData.clnt = 0u; this.serverList.Add(serverData); serverData = new serverData(); serverData.ip = "10.1.6.29"; serverData.port = 64999u; serverData.sid = 1u; serverData.clnt = 0u; this.serverList.Add(serverData); this.initInfo(); this.setToggleEvent(); }