Browse Source

Revert changes in UDPRelay.cs

UDP SendTo doesn't support DnsEndPoint.

Signed-off-by: noisyfox <timemanager.rick@gmail.com>
tags/3.3
noisyfox 9 years ago
parent
commit
b335e6c8f5
2 changed files with 13 additions and 5 deletions
  1. +2
    -1
      shadowsocks-csharp/Controller/Service/Listener.cs
  2. +11
    -4
      shadowsocks-csharp/Controller/Service/UDPRelay.cs

+ 2
- 1
shadowsocks-csharp/Controller/Service/Listener.cs View File

@@ -116,8 +116,9 @@ namespace Shadowsocks.Controller
catch (ObjectDisposedException)
{
}
catch (Exception)
catch (Exception ex)
{
Logging.LogUsefulException(ex);
}
finally
{


+ 11
- 4
shadowsocks-csharp/Controller/Service/UDPRelay.cs View File

@@ -7,7 +7,6 @@ using System.Runtime.CompilerServices;
using Shadowsocks.Controller.Strategy;
using Shadowsocks.Encryption;
using Shadowsocks.Model;
using Shadowsocks.Util;
namespace Shadowsocks.Controller
{
@@ -57,7 +56,7 @@ namespace Shadowsocks.Controller
private byte[] _buffer = new byte[1500];
private IPEndPoint _localEndPoint;
private EndPoint _remoteEndPoint;
private IPEndPoint _remoteEndPoint;
public UDPHandler(Socket local, Server server, IPEndPoint localEndPoint)
{
@@ -65,8 +64,16 @@ namespace Shadowsocks.Controller
_server = server;
_localEndPoint = localEndPoint;
_remoteEndPoint = SocketUtil.GetEndPoint(server.server, server.server_port);
_remote = SocketUtil.CreateSocket(_remoteEndPoint, ProtocolType.Udp);
// TODO async resolving
IPAddress ipAddress;
bool parsed = IPAddress.TryParse(server.server, out ipAddress);
if (!parsed)
{
IPHostEntry ipHostInfo = Dns.GetHostEntry(server.server);
ipAddress = ipHostInfo.AddressList[0];
}
_remoteEndPoint = new IPEndPoint(ipAddress, server.server_port);
_remote = new Socket(_remoteEndPoint.AddressFamily, SocketType.Dgram, ProtocolType.Udp);
}
public void Send(byte[] data, int length)


Loading…
Cancel
Save