コード例 #1
0
 public TcpClient(Socket msocket)
 {
     Console.WriteLine("TCPClient " + msocket.RemoteEndPoint);
     clientsocket  = msocket;
     ReceiveThread = new Thread(new ThreadStart(ReceiveLoop));
     ReceiveThread.IsBackground = true;
     ReceiveThread.Start();
     OnReceivedCompletePointer += messagehandler;
 }
コード例 #2
0
 public TCPClient(Socket msocket)
 {
     Console.WriteLine("TCPClient " + msocket.RemoteEndPoint);
     clientsocket = msocket;
     OnReceivedCompletePointer += messagehandler;
     onfilereceivedcompleted   += ReceiveFilehandler;
     // onfilereceivedcompleted += (ref String s) => { Send("hi completed!");  };
     ReceiveThread = new Thread(new ThreadStart(ReceiveLoop));
     ReceiveThread.IsBackground = true;
     ReceiveThread.Start();
 }
コード例 #3
0
        void ReceiveLoop()
        {
            while (true)
            {
                try
                {
                    Array.Clear(receivebuffer, 0, receivebuffer.Length);
                    clientsocket.Receive(receivebuffer);
                    OnReceivedCompletePointer += messagehandler;

                    Thread.Sleep(30);
                }
                catch (SocketException)
                {
                    ReceiveThread.Abort();
                }
            }
        }
コード例 #4
0
        public TCPClient(Socket msocket)
        {
            Console.WriteLine("TCPClient " + msocket.RemoteEndPoint);
            entrymapok                 = false;
            clientsocket               = msocket;
            clientsocket.NoDelay       = true;//false send immediately,this seem is opposite to msdn document
            OnReceivedCompletePointer += messagehandler;

            ReceiveThread = new Thread(new ThreadStart(ReceiveLoop));
            ReceiveThread.IsBackground = true;
            ReceiveThread.Start();

            KeepAliveThread = new Thread(new ThreadStart(keeptcpalive));
            KeepAliveThread.IsBackground = true;
            KeepAliveThread.Start();
            onjoinroom += AssignNumber;
            //AssignGUID();
        }