public void PerformRequest() { ResponseMessage = null; WaitHandle.Reset(); EndPoint epStun = SocketServer.ConnectMgr.GetIPEndpoint(StunServer, StunPort); STUNMessage msgRequest = new STUNMessage(); msgRequest.Method = StunMethod.Binding; msgRequest.Class = StunClass.Request; MappedAddressAttribute mattr = new MappedAddressAttribute(); mattr.IPAddress = LocalEndpoint.Address; mattr.Port = (ushort) LocalEndpoint.Port; msgRequest.AddAttribute(mattr); SocketServer.UDPSocketClient client = new SocketServer.UDPSocketClient(LocalEndpoint); client.OnReceivePacket += new SocketServer.UDPSocketClient.DelegateReceivePacket(client_OnReceivePacket3); #if !WINDOWS_PHONE client.StartReceiving(true); #else client.StartReceiving(); #endif byte [] bMessage = msgRequest.Bytes; client.SendUDP(bMessage, bMessage.Length, epStun); }
public void PerformRequest() { ResponseMessage = null; WaitHandle.Reset(); EndPoint epStun = SocketServer.ConnectMgr.GetIPEndpoint(StunServer, StunPort); STUNMessage msgRequest = new STUNMessage(); msgRequest.Method = StunMethod.Binding; msgRequest.Class = StunClass.Request; MappedAddressAttribute mattr = new MappedAddressAttribute(); mattr.IPAddress = LocalEndpoint.Address; mattr.Port = (ushort)LocalEndpoint.Port; msgRequest.AddAttribute(mattr); SocketServer.UDPSocketClient client = new SocketServer.UDPSocketClient(LocalEndpoint); client.OnReceivePacket += new SocketServer.UDPSocketClient.DelegateReceivePacket(client_OnReceivePacket3); #if !WINDOWS_PHONE client.StartReceiving(true); #else client.StartReceiving(); #endif byte [] bMessage = msgRequest.Bytes; client.SendUDP(bMessage, bMessage.Length, epStun); }
public virtual void Stop() { if (IsActive == false) { return; } IsActive = false; IsBound = false; UDPClient.StopReceiving(); UDPClient.OnReceiveMessage -= new SocketServer.UDPSocketClient.DelegateReceivePacket(RTPUDPClient_OnReceiveMessage); UDPClient = null; }
public void Bind(IPEndPoint localEp) { if (IsBound == false) { LocalEndpoint = localEp; UDPClient = new SocketServer.UDPSocketClient(LocalEndpoint); UDPClient.Bind(); #if !WINDOWS_PHONE LocalEndpoint = UDPClient.s.LocalEndPoint as IPEndPoint; #else #endif IsBound = true; UDPClient.OnReceiveMessage += new SocketServer.UDPSocketClient.DelegateReceivePacket(RTPUDPClient_OnReceiveMessage); UDPClient.StartReceiving(); } }