protected static void StartSending(Socket socket, Package package) { var data = package.ToByteArray(); SocketContainer container = new SocketContainer(socket, data); socket.BeginSend(data, 0, data.Length, SocketFlags.None, new AsyncCallback(_OnSendingCallback), container); }
protected static void _OnSendingCallback(IAsyncResult result) { SocketContainer container = (SocketContainer)result.AsyncState; int bytesSent = 0; try { bytesSent = container.ConnectionSocket.EndSend(result); } catch (SocketException ex) { //Console.WriteLine(string.Format("[CLIENT {1}] - {0}", ex.Message, Id)); } }
public static void _OnRecievingCallback(IAsyncResult result) { SocketContainer container = (SocketContainer)result.AsyncState; int bytesRecieved = 0; try { bytesRecieved = container.ConnectionSocket.EndReceive(result); } catch (SocketException ex) { } StartSending(container.ConnectionSocket, new Package(0, "hello")); StartRecieving(container.ConnectionSocket); }
private static void StartRecieving(Socket socket) { byte[] buffer = new byte[8192]; var container = new SocketContainer(socket, buffer); IAsyncResult result = socket.BeginReceive(buffer, 0, 8192, SocketFlags.None, new AsyncCallback(_OnRecievingCallback), container); }