void RegisterServer() { serverSocket.DoDispose(); serverSocket = new TcpClientDemo(new System.Net.Sockets.TcpClient(this.ServerHost, this.ServerPort)); serverSocket.SetTimeOut(10000, 10000); int index = 0; byte[] buffer = new byte[255]; //head(4) + type(2) + len(2) + data buffer.Copy(ConnectionServerService.HEAD, ref index); buffer.Copy(ConnectionServerService.TYPE_REGISTER, ref index); buffer.Copy((short)4, ref index); buffer.Copy(this.RemotePort, ref index); byte[] data = this.Send(buffer.GetBytes(index), true); if (data.Length == 4) { serverSocket.SetTimeOut(1000, 1000); registerFlag = true; Console.WriteLine("注册到服务器成功:{0}:{1}-外网端口:{2}-本地主机地址:{3}-{4}-协议类型:{5}", this.ServerHost, this.ServerPort, this.RemotePort, this.LocalHost, this.LocalPort, this.ProtocolType); } else { registerFlag = false; } }
protected override bool Validate() { //注册到服务器 serverSocket = new TcpClientDemo(new System.Net.Sockets.TcpClient(this.ServerHost, this.ServerPort)); return(true); }