From f18f11a364691240cd6d21e354eb92084f673b9b Mon Sep 17 00:00:00 2001 From: cxxpxr <60411087+cxxpxr@users.noreply.github.com> Date: Mon, 4 Apr 2022 21:34:08 -0400 Subject: [PATCH 1/3] expose endpoint --- kcp2k/Assets/Tests/Editor/ClientServerTests.cs | 4 ++-- kcp2k/Assets/kcp2k/highlevel/KcpServer.cs | 7 ++++--- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/kcp2k/Assets/Tests/Editor/ClientServerTests.cs b/kcp2k/Assets/Tests/Editor/ClientServerTests.cs index e450b35c..757010ee 100644 --- a/kcp2k/Assets/Tests/Editor/ClientServerTests.cs +++ b/kcp2k/Assets/Tests/Editor/ClientServerTests.cs @@ -791,9 +791,9 @@ public void ServerGetClientAddress() int connectionId = ServerFirstConnectionId(); if (server.DualMode) - Assert.That(server.GetClientAddress(connectionId), Is.EqualTo("::ffff:127.0.0.1")); + Assert.That(server.GetClientEndPoint(connectionId).Address.ToString(), Is.EqualTo("::ffff:127.0.0.1")); else - Assert.That(server.GetClientAddress(connectionId), Is.EqualTo("127.0.0.1")); + Assert.That(server.GetClientEndPoint(connectionId).Address.ToString(), Is.EqualTo("127.0.0.1")); } [Test] diff --git a/kcp2k/Assets/kcp2k/highlevel/KcpServer.cs b/kcp2k/Assets/kcp2k/highlevel/KcpServer.cs index 97bbe91e..62dedb76 100644 --- a/kcp2k/Assets/kcp2k/highlevel/KcpServer.cs +++ b/kcp2k/Assets/kcp2k/highlevel/KcpServer.cs @@ -161,13 +161,14 @@ public void Disconnect(int connectionId) } } - public string GetClientAddress(int connectionId) + public IPEndPoint GetClientEndPoint(int connectionId) { if (connections.TryGetValue(connectionId, out KcpServerConnection connection)) { - return (connection.GetRemoteEndPoint() as IPEndPoint).Address.ToString(); + return (connection.GetRemoteEndPoint() as IPEndPoint); } - return ""; + + return null; } // EndPoint & Receive functions can be overwritten for where-allocation: From 63300f0306d4bb5c1fdf16523d111c47ee2b5b5b Mon Sep 17 00:00:00 2001 From: vis2k Date: Tue, 5 Apr 2022 12:43:58 +0800 Subject: [PATCH 2/3] Update kcp2k/Assets/kcp2k/highlevel/KcpServer.cs --- kcp2k/Assets/kcp2k/highlevel/KcpServer.cs | 1 + 1 file changed, 1 insertion(+) diff --git a/kcp2k/Assets/kcp2k/highlevel/KcpServer.cs b/kcp2k/Assets/kcp2k/highlevel/KcpServer.cs index 62dedb76..abdcb215 100644 --- a/kcp2k/Assets/kcp2k/highlevel/KcpServer.cs +++ b/kcp2k/Assets/kcp2k/highlevel/KcpServer.cs @@ -161,6 +161,7 @@ public void Disconnect(int connectionId) } } + // expose the whole IPEndPoint, not just the IP address. some need it. public IPEndPoint GetClientEndPoint(int connectionId) { if (connections.TryGetValue(connectionId, out KcpServerConnection connection)) From 33fbe02df513fea474414fb5c9e37bb2ab5fdbf1 Mon Sep 17 00:00:00 2001 From: vis2k Date: Tue, 5 Apr 2022 12:44:37 +0800 Subject: [PATCH 3/3] Update KcpServer.cs --- kcp2k/Assets/kcp2k/highlevel/KcpServer.cs | 1 - 1 file changed, 1 deletion(-) diff --git a/kcp2k/Assets/kcp2k/highlevel/KcpServer.cs b/kcp2k/Assets/kcp2k/highlevel/KcpServer.cs index abdcb215..4e025887 100644 --- a/kcp2k/Assets/kcp2k/highlevel/KcpServer.cs +++ b/kcp2k/Assets/kcp2k/highlevel/KcpServer.cs @@ -168,7 +168,6 @@ public IPEndPoint GetClientEndPoint(int connectionId) { return (connection.GetRemoteEndPoint() as IPEndPoint); } - return null; }