/// <summary> /// Bind to the /// </summary> /// <param name="port"></param> public CAUdpListener(IPAddress serverAddress, int port, CAServerFilter filter) { this.filter = filter; UDPSocket = new Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp); UDPSocket.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.Broadcast, true); UDPSocket.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.ReuseAddress, true); UDPSocket.Bind(new IPEndPoint(serverAddress, port)); EndPoint tempRemoteEP = (EndPoint)sender; UDPSocket.BeginReceiveFrom(buff, 0, buff.Length, SocketFlags.None, ref tempRemoteEP, GotUdpMessage, tempRemoteEP); }
/// <summary> /// Bind to the /// </summary> /// <param name="port"></param> public CAUdpListener(IPAddress serverAddress, int port, CAServerFilter filter) { this.filter = filter; UDPSocket = new Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp); UDPSocket.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.Broadcast, true); UDPSocket.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.ReuseAddress, true); UDPSocket.Bind(new IPEndPoint(serverAddress, port)); EndPoint tempRemoteEP = (EndPoint)sender; UDPSocket.BeginReceiveFrom(buff, 0, buff.Length, SocketFlags.None, ref tempRemoteEP, GotUdpMessage, tempRemoteEP); }
public CAServer(IPAddress serverAddress, int tcpPort, int udpPort, int beaconPort) { //Console.WriteLine("Server on "+serverAddress+" "+tcpPort+" "+udpPort+" "+beaconPort); if (serverAddress == null) { serverAddress = IPAddress.Any; } ServerAddress = serverAddress; this.udpPort = udpPort; this.tcpPort = tcpPort; serverFilter = new CAServerFilter(this); udp = new CAUdpListener(serverAddress, udpPort, serverFilter); tcpListener = new TcpListener(serverAddress, tcpPort); tcpListener.Start(); tcpListener.BeginAcceptSocket(RecieveConn, tcpListener); checkConnections = new Thread(new ThreadStart(ConnectionChecker)); checkConnections.IsBackground = true; checkConnections.Start(); beacon = new CABeacon(this, udpPort, beaconPort); }