private void Connect_Completed(object sender, SocketAsyncEventArgs e) { m_Client = (Socket)sender; if (m_Client.Connected) { Packet packet = new Packet(); SocketAsyncEventArgs _receiveArgs = new SocketAsyncEventArgs(); _receiveArgs.UserToken = packet; _receiveArgs.SetBuffer(packet.GetBuffer(), 0, 4); _receiveArgs.Completed += new EventHandler<SocketAsyncEventArgs>(Recieve_Completed); m_Client.ReceiveAsync(_receiveArgs); Console.WriteLine("Server Connection Success"); } else { m_Client = null; Console.WriteLine("Connection Failed!"); Console.WriteLine("Press Any Key..."); } }
public void DataInput() { String sType; String sData; Packet packet = new Packet(); Console.WriteLine("Start up client"); while (true) { Thread.Sleep(300); Console.WriteLine("==================================="); Console.Write("Send Type: "); sType = Console.ReadLine(); Console.Write("Send Data: "); sData = Console.ReadLine(); if (sData.CompareTo("exit") == 0) { break; } else { if (m_Client != null) { if (!m_Client.Connected) { m_Client = null; Console.WriteLine("Connection Failed!"); Console.WriteLine("Press Any Key..."); } else { byte[] _sData = CompressToBytes(sData); packet.InitSendPacket(Encoding.Unicode.GetBytes(sType)[0], _sData); SocketAsyncEventArgs _sendArgs = new SocketAsyncEventArgs(); _sendArgs.SetBuffer(BitConverter.GetBytes(packet.Length), 0, 4); _sendArgs.Completed += new EventHandler<SocketAsyncEventArgs>(Send_Completed); _sendArgs.UserToken = packet; m_Client.SendAsync(_sendArgs); } } else { break; } } } }