From 033fa183cc6ef3ef37f6111a37db16fc0686f0c3 Mon Sep 17 00:00:00 2001 From: Brendan Burns Date: Thu, 26 Sep 2019 21:50:31 -0700 Subject: [PATCH] Fix port-forward example --- examples/portforward/PortForward.cs | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/examples/portforward/PortForward.cs b/examples/portforward/PortForward.cs index ad0e35dfc..710f36ad7 100644 --- a/examples/portforward/PortForward.cs +++ b/examples/portforward/PortForward.cs @@ -24,7 +24,7 @@ private static async Task Main(string[] args) private async static Task Forward(IKubernetes client, V1Pod pod) { // Note this is single-threaded, it won't handle concurrent requests well... var webSocket = await client.WebSocketNamespacedPodPortForwardAsync(pod.Metadata.Name, "default", new int[] {80}, "v4.channel.k8s.io"); - var demux = new StreamDemuxer(webSocket); + var demux = new StreamDemuxer(webSocket, StreamType.PortForward); demux.Start(); var stream = demux.GetStream((byte?)0, (byte?)0); @@ -37,6 +37,7 @@ private async static Task Forward(IKubernetes client, V1Pod pod) { Socket handler = null; + // Note this will only accept a single connection var accept = Task.Run(() => { while (true) { handler = listener.Accept(); @@ -61,6 +62,10 @@ private async static Task Forward(IKubernetes client, V1Pod pod) { await accept; await copy; + if (handler != null) { + handler.Close(); + } + listener.Close(); } } }