예제 #1
0
        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;
            }
        }
예제 #2
0
 protected override bool Validate()
 {
     //注册到服务器
     serverSocket = new TcpClientDemo(new System.Net.Sockets.TcpClient(this.ServerHost, this.ServerPort));
     return(true);
 }