From 13c679e5141eb3c2dcb91850ed8e7444994aaa5d Mon Sep 17 00:00:00 2001 From: tato Date: Thu, 6 Jun 2019 09:20:17 +0800 Subject: [PATCH] Fix udp relay --- shadowsocks-csharp/Controller/Service/UDPRelay.cs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/shadowsocks-csharp/Controller/Service/UDPRelay.cs b/shadowsocks-csharp/Controller/Service/UDPRelay.cs index 47a3c6cf..5367e29a 100644 --- a/shadowsocks-csharp/Controller/Service/UDPRelay.cs +++ b/shadowsocks-csharp/Controller/Service/UDPRelay.cs @@ -40,10 +40,10 @@ namespace Shadowsocks.Controller if (handler == null) { handler = new UDPHandler(socket, _controller.GetAServer(IStrategyCallerType.UDP, remoteEndPoint, null/*TODO: fix this*/), remoteEndPoint); + handler.Receive(); _cache.add(remoteEndPoint, handler); } handler.Send(firstPacket, length); - handler.Receive(); return true; } @@ -74,6 +74,7 @@ namespace Shadowsocks.Controller } _remoteEndPoint = new IPEndPoint(ipAddress, server.server_port); _remote = new Socket(_remoteEndPoint.AddressFamily, SocketType.Dgram, ProtocolType.Udp); + _remote.Bind(new IPEndPoint(IPAddress.Any, 0)); } public void Send(byte[] data, int length)