private void Form1_Load(object sender, EventArgs e) { IPEndPoint localEP = new IPEndPoint(System.Net.IPAddress.Any, 0); // // create the socket and bind to INADDR_ANY // m_socket = new Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp); m_socket.Bind(localEP); localEP = (IPEndPoint)m_socket.LocalEndPoint; // // start asynchronous read // m_socket.BeginReceive(m_buffer, 0, BUFFER_SIZE, 0, new AsyncCallback(this.OnReadSocket), this); try { // // start the register and browse operations // m_registrar = m_service.Register(0, 0, System.Environment.UserName, "_p2pchat._udp", null, null, ( ushort )localEP.Port, null, m_eventManager); } catch { MessageBox.Show("Bonjour service is not available", "Error"); Application.Exit(); } }
public void PublishBonjour() { Logger.Instance.eventLog.WriteEntry("Starting Bonjour", EventLogEntryType.Information); try { bonjourService = new DNSSDService(); } catch { return; } String type = "_istatserv._tcp"; String name = String.Format("{0},{1}", Clients.Instance.ServerUUID(), Environment.MachineName); Bonjour.TXTRecord record = new TXTRecord(); record.SetValue("model", "windows"); record.SetValue("time", String.Format("{0}", DateTime.Now.Ticks)); //manager.ServiceRegistered += new _IDNSSDEvents_ServiceRegisteredEventHandler(this.ServiceRegistered); Logger.Instance.eventLog.WriteEntry("Registering Bonjour Service", EventLogEntryType.Information); bonjourServiceRegistrar = bonjourService.Register(0, 0, name, type, null, null, ushort.Parse(Preferences.Instance.Value("port")), record, null); }
public OlcbSvr() { InitializeComponent(); CheckForIllegalCrossThreadCalls = false; try { m_service = new DNSSDService(); m_eventManager = new DNSSDEventManager(); m_eventManager.OperationFailed += new _IDNSSDEvents_OperationFailedEventHandler(OperationFailed); } catch { log("Bonjour Service is not available"); } String[] arguments = Environment.GetCommandLineArgs(); for (int a = 1; a < arguments.Length; a++) { localhub = true; log("Arg " + arguments[a]); if (arguments[a].StartsWith("port")) { int p = arguments[a].IndexOf('='); if (p > 0) port = Convert.ToInt32(arguments[a].Substring(p+1)); } if (arguments[a].StartsWith("max")) { int p = arguments[a].IndexOf('='); if (p > 0) MAXCONNECTIONS = Convert.ToInt32(arguments[a].Substring(p+1)); } } if (!localhub) { // create the async listening sockets ep = new IPEndPoint(IPAddress.Any, 0); ServerSkt.Bind(ep); ServerSkt.Listen(1); ServerSkt.BeginAccept(new AsyncCallback(Acceptcallback), 0); ep = ((IPEndPoint)ServerSkt.LocalEndPoint); log("OpenLCB Hub start on port " + ep.Port.ToString()); // register server with zeroconfig, (alias bonjour) // params (flags, interface, instancename, servicetype, domain, host, port, TXTrecord, eventmanager) m_registrar = m_service.Register(DNSSDFlags.kDNSSDFlagsNoAutoRename, 0, "OpenLCB Hub Service", "_OpenLCB._tcp", null, null, (ushort)ep.Port, null, m_eventManager); } if (localhub) { // connect via bonjour StartOpenLCBConnect(); // create the async listening sockets ep = new IPEndPoint(IPAddress.Loopback, port); ServerSkt.Bind(ep); ServerSkt.Listen(1); ServerSkt.BeginAccept(new AsyncCallback(Acceptcallback), 0); ep = ((IPEndPoint)ServerSkt.LocalEndPoint); log("OpenLCB Hub start on port " + ep.Port.ToString()); } if (!localhub) readxmldata(); MaxConTB.Text = MAXCONNECTIONS.ToString(); connects = new CONNECTION[MAXCONNECTIONS]; for (int i = 0; i < MAXCONNECTIONS; i++) connects[i] = new CONNECTION(); // node number server range GroupBox.Items.Add("NMRA"); GroupBox.Items.Add("MERG"); GroupBox.Items.Add("Fremo"); GroupBox.Items.Add("Ntrak"); RangeFromTB.Text = servernodenumber.ToString("X12"); SetGroup(RangeFromTB.Text); byte6txt.Text = Convert.ToInt32(RangeFromTB.Text.Substring(10, 2), 16).ToString(); membertxt.Text = Convert.ToInt32(RangeFromTB.Text.Substring(4, 6), 16).ToString(); inithub(); }
public void PublishBonjour() { Logger.Instance.eventLog.WriteEntry("Starting Bonjour", EventLogEntryType.Information); try { bonjourService = new DNSSDService(); } catch { return; } String type = "_istatserv._tcp"; String name = String.Format("{0},{1}", Clients.Instance.ServerUUID(), Environment.MachineName); Bonjour.TXTRecord record = new TXTRecord(); record.SetValue("model", "windows"); record.SetValue("time", String.Format("{0}", DateTime.Now.Ticks)); //manager.ServiceRegistered += new _IDNSSDEvents_ServiceRegisteredEventHandler(this.ServiceRegistered); Logger.Instance.eventLog.WriteEntry("Registering Bonjour Service", EventLogEntryType.Information); bonjourServiceRegistrar = bonjourService.Register(0, 0, name, type, null, null, ushort.Parse(Preferences.Instance.Value("port")), record, null); }
public Server() { InitializeComponent(); try { m_service = new DNSSDService(); m_eventManager = new DNSSDEventManager(); } catch { MessageBox.Show("Bonjour Service is not available", "Error"); Application.Exit(); } CheckForIllegalCrossThreadCalls = false; StartGetNodeNumber(); // create the async listening sockets for (int i = 0; i < MAXCONNECTIONS; i++) connections[i] = new Connection(); IPEndPoint ep = new IPEndPoint(IPAddress.Any, 0); listenSocket.Bind(ep); listenSocket.Listen(100); listenSocket.BeginAccept(new AsyncCallback(Acceptcallback), 0); ep = ((IPEndPoint)listenSocket.LocalEndPoint); m_registrar = m_service.Register(0, 0, System.Environment.UserName, "_withrottle._tcp", null, null, (ushort)ep.Port, null, null); log("WiThrottle Port " + ep.Port.ToString()); }