public MainWindow() { InitializeComponent(); var r = new Random(); _port = r.Next(1500, 2000); _id = Guid.NewGuid(); _sessions = new Dictionary<IPEndPoint, Tuple<Peer, PascalStreamReader>>(); _listener = new TcpListener(_port); _comunicationManager = new CommunicationManager(_listener); _comunicationManager.ConnectionClosed += ChatOnMemberDisconnected; _comunicationManager.PeerConnected += ChatOnMemberConnected; _listener.Start(); _discovery = new UdpListener(3000); _discovery.UdpPacketReceived += DiscoveryOnUdpPacketReceived; _discovery.Start(); using (var socket = new Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp)) { socket.EnableBroadcast = true; var group = new IPEndPoint(IPAddress.Broadcast, 3000); var hi = Encoding.ASCII.GetBytes("Hi Peer2Net node here:" + _id + ":127.0.0.1:" + _port); socket.SendTo(hi, group); socket.Close(); } }
public void Setup() { _listener = new TcpListener(9999); _connectedEvent = new ManualResetEvent(false); _communicationManager = new CommunicationManager(_listener); _communicationManager.PeerConnected += (sender, args) => { _peer = args.Peer; _connectedEvent.Set(); }; _listener.Start(); }
public PeerStream(CommunicationManager communicationManager, IPEndPoint endPoint) { _communicationManager = communicationManager; _endPoint = endPoint; }