コード例 #1
0
        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();
            }
        }
コード例 #2
0
 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();
 }
コード例 #3
0
ファイル: PeerStream.cs プロジェクト: erpframework/peer2net
 public PeerStream(CommunicationManager communicationManager, IPEndPoint endPoint)
 {
     _communicationManager = communicationManager;
     _endPoint = endPoint;
 }