当前位置: 首页 > 知识库问答 >
问题:

UDP 套接字客户端无法与 Minikube 上的 UDP 套接字服务器通信

孔和畅
2023-03-14

我已经在Minikube上部署了一个UDP套接字服务器。套接字服务绑定到端口2152。下面是description pod命令中的IP片段。

    Node:         minikube/192.168.49.2
    Start Time:   Thu, 07 Jan 2021 09:47:18 +0530
    Labels:       app=hello-app
    Annotations:  <none>
    Status:       Running
    IP:           172.17.0.3
 
    

我的客户机与minikube运行在同一个VM上,无法与服务器通信。我在客户端使用服务器地址IP 172.17.0.3,端口为2152。我还尝试使用minikube IP 192.168.49.2将UDP数据从客户端发送到服务器。

请帮忙,这里有什么问题。

共有1个答案

鲜于阳成
2023-03-14

如果不提供信息和背景,就很难确定你的案例会出什么问题。Minikube做了许多简单的处理,其中之一就是使用入口作为公开服务的方式。

使用 minikube 时,启用入口非常容易。您只需要启用插件:

minikube addons enable ingress

由于Ingress不支持TCP或UDP服务,因此您将使用标志,此控制器使用标志<code>--TCP services configmap</code>和<code>--UDP services configmap</code>来指向现有的配置映射,其中键是要使用的外部端口,值指示要使用以下格式公开的服务:<code>

以下是这些服务的示例:

apiVersion: v1
kind: Service
metadata:
  name: my-service
  namespace: default
spec:
  selector:
    app: redis
  type: ClusterIP
  ports:
    - name: tcp-port
      port: 6379
      targetPort: 6379
      protocol: TCP

这是指向该服务的配置图:

apiVersion: v1
kind: ConfigMap
metadata:
  name: tcp-services
  namespace: ingress-nginx
data:
  6379 : "default/my-service:6379"

哪里:

  • 6379:您的服务应该从Minikube虚拟机外部侦听的端口
  • 默认:您的服务安装在
  • 中的命名空间
  • service:服务的名称

类似的配置将应用于udp协议:

apiVersion: v1
kind: ConfigMap
metadata:
  name: udp-services
  namespace: ingress-nginx
data:  
  53:  "kube-system/kube-dns:53"

如果你想了解更多,Minikube文档有很好的例子。

 类似资料:
  • 我是 python 和套接字的新手,正在尝试编写一个回显客户端/服务器套接字。我已经编写了服务器,以便丢失 30% 的数据包。我将客户端编程为在一秒后超时,因为数据包可能会丢失。但是,每当我运行客户端套接字时,我的输出都是 100% 请求超时。我假设我得到这个输出,因为我的服务器从未收到过消息。我已经多次查看了我的代码,但无法弄清楚为什么我不断获得此输出。下面是我的服务器和客户端套接字的代码。任何

  • 我对套接字有点陌生,我正在尝试编写一个程序,在这个程序中,我基本上可以从客户端程序向服务器程序发送一些简单的请求。现在我只想在客户端有1或2个选项供用户选择。例如,如果用户在客户端选择“选项1”,那么服务器会返回一条消息“您选择选项1”,以此类推,但我不知道如何读取服务器上从客户端发送的输入。 客户代码: 服务器代码: 我需要在Clinet中使用两个不同的BufferedReader吗?一个用于用

  • 我有这个代码可以在eclipse中与android Studio中的客户端通信服务器,我使用套接字,客户端向服务器发送消息,服务器读取该消息并确定一切正常,但当服务器向客户端发送消息时,客户端不强制任何东西;这是代码 还有这个 此代码是服务器代码的一部分,如果您需要客户端代码(Android Studio),请告诉我。 我需要帮助拜托

  • 我试图用java实现一个客户端服务器,在这里我读取客户端中的输入并在服务器中执行UperCase,然后返回客户端并打印UperCase。我使用ObjectOutputStream和ObjectInputStream进行读写,但是当我在客户机中键入一个msg时,程序会显示以下错误: Digite uma msg casa java.io.eofexception位于java.io.datainput

  • 问题内容: 我正在寻找一种使用Go语言与UDP套接字进行客户端/服务器通信的好的解决方案。 我在Internet上找到的示例向我展示了如何将数据发送到服务器,但是没有讲授如何将数据发送回客户端。 为了演示,我的程序执行以下操作: 我的客户端程序在4444端口上创建一个套接字,如下所示: 我向服务器发送了字符串和本地地址,因此它可以打印字符串并发送OK消息。我为此使用gob: 我的数据结构如下所示:

  • 问题内容: 我试图用没有gui的服务器连接带有gui的客户端。连接已完成,但我看不到这两个应用程序之间的任何消息。(我应该在客户端中找到SERVER HERE,在服务器中找到CLIENT HERE) 客户端连接代码: (输入和输出在此客户端类扩展到的GUI类中定义。定义为“受保护的BufferedReader输入;受保护的PrintWriter输出;”) 另外,服务器代码: 连接似乎还可以,所以我