public TcpClient(Socket msocket) { Console.WriteLine("TCPClient " + msocket.RemoteEndPoint); clientsocket = msocket; ReceiveThread = new Thread(new ThreadStart(ReceiveLoop)); ReceiveThread.IsBackground = true; ReceiveThread.Start(); OnReceivedCompletePointer += messagehandler; }
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(); }
void ReceiveLoop() { while (true) { try { Array.Clear(receivebuffer, 0, receivebuffer.Length); clientsocket.Receive(receivebuffer); OnReceivedCompletePointer += messagehandler; Thread.Sleep(30); } catch (SocketException) { ReceiveThread.Abort(); } } }
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(); }