using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Net; using System.Net.Sockets; namespace FS_CLIENT.Networking { class Client { Socket client; byte[] _buffer; public Client() { client = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); } public void Connect() { client.BeginConnect(new IPEndPoint(IPAddress.Parse("199.189.87.24"), 11100), new AsyncCallback(OnConnect), null); } private void OnConnect(IAsyncResult ar) { client.EndConnect(ar); _buffer = new byte[1024]; client.BeginReceive(_buffer, 0, _buffer.Length, SocketFlags.None, new AsyncCallback(ReceiveCallback), null); } private void ReceiveCallback(IAsyncResult ar) { try { int len = client.EndReceive(ar); Array.Resize(ref _buffer, len); Handle.Packet(_buffer, client); _buffer = new byte[1024]; client.BeginReceive(_buffer, 0, _buffer.Length, SocketFlags.None, new AsyncCallback(ReceiveCallback), null); } catch (SocketException se) { Console.WriteLine(se.Message); } } public void Send(byte[] buffer) { client.Send(buffer); } } }