public void SendMessage(SocketMessage msg) { try { var remoteEP = new IPEndPoint(IPAddress.Loopback, 11000); using (var sender = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp)) { var messenger = new TcpSocketMessenger(sender); sender.Connect(remoteEP); messenger.SendMessage(msg); var response = messenger.ReceiveMessage(); //System.Windows.MessageBox.Show(string.Format("{0} {1}", response.GetType().AssemblyQualifiedName,response.Message)); _messageHandler.HadleMessage(response); sender.Shutdown(SocketShutdown.Both); } } catch (Exception e) { System.Windows.MessageBox.Show(string.Format("Unexpected exception : {0}", e.ToString())); } }
public static void StartListening() { var localEndPoint = new IPEndPoint(IPAddress.Loopback, 11000); var listener = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); try { listener.Bind(localEndPoint); listener.Listen(10); while (true) { Console.WriteLine("Waiting for a connection..."); Socket handler = listener.Accept(); var messenger = new TcpSocketMessenger(handler); var msg = messenger.ReceiveMessage(); Console.WriteLine(string.Format( "Received {0} from {1}:{2}", msg.GetType().Name, ((IPEndPoint)handler.RemoteEndPoint).Address, ((IPEndPoint)handler.RemoteEndPoint).Port)); var response = _messageHandler.HadleMessage(msg); if (response != null) { messenger.SendMessage(response); } handler.Shutdown(SocketShutdown.Both); handler.Close(); } } catch (Exception e) { Console.WriteLine(e.ToString()); } Console.WriteLine("\nPress ENTER to continue..."); Console.Read(); }