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

如何创建在同一个端口中同时使用UDP和TCP的客户端?

裴硕
2023-03-14

当我在客户端使用下一段代码时:

IPEndPoint EndPoint = new IPEndPoint(IPAddress.Parse("127.0.0.1"), 8001);
UdpClient UDPServer = new UdpClient(EndPoint);
TcpClient TCPClient = new TcpClient(EndPoint);

我得到一个例外,它只允许使用单个套接字地址。但在服务器端我使用:

IPEndPoint EndPoint = new IPEndPoint(IPAddress.Parse("127.0.0.1"), 8001);
TcpListener TcpServer = new TcpListener(EndPoint);
UdpClient UDPServer = new UdpClient(EndPoint);

我需要编写一个客户端,可以在同一端口的TCP和UDP协议上工作。TCP-通用命令,UDP-语音流。如何做到这一点?

共有1个答案

宓博实
2023-03-14

问题是我尝试在客户端和服务器端将UDPClient对象绑定到相同的端口号。所以我有个例外。

 类似资料:
  • 我已经为我的在线游戏制作了一个服务器(python,twisted)。从TCP开始,后来增加了UDP的不断更新(速度有了很大的提高)。但现在,我需要将每个UDP套接字客户端与每个TCP客户端连接起来。 我首先让每个客户机连接到TCP服务器,并获得唯一的ID。然后客户端将此ID发送到UDP服务器,并将其连接起来。然后,我有一个TCP客户端的主列表(按唯一ID排序)。 我的目标是能够通过TCP和UDP

  • 是否有一种简单的(非迭代的)方法来绑定两个套接字,一个TCP和一个UDP,以保证它们都具有相同的临时端口? 我有一个简单的服务器,最初通过TCP连接,但也通过UDP传输。我不想在连接后从客户端发送UDP数据包,只是为了让服务器发现客户端的UDP临时端口。除非必要,否则我不想通过初始传输控制协议消息发送端口号。 现在,我在TCP套接字上的getsockname之后显式绑定客户端UDP套接字的端口,以

  • Coroutine\Client提供了TCP、UDP、unixSocket传输协议的Socket客户端封装代码,使用时仅需new Swoole\Coroutine\Client即可。 实现原理 Coroutine\Client的所有涉及网络请求的方法,Swoole都会进行协程调度,业务层无需感知 使用方法和Client同步模式方法完全一致 connect超时设置同时作用于Connect和Recv、

  • 我想编写一个tcp服务器和客户端应用程序,在客户端使用相同端口号的情况下,它们之间有几个不同的连接。 据我所知,服务器有一个侦听器端口,当客户端调用它时,我会在服务器端为这个新连接获得一个新的套接字,当我调用它时 正当所以在服务器端,我可以识别我与这个新套接字的连接,并通过它发送数据。 现在,我的理解与客户端的问题。我打电话的时候会拿到插座 所以我只有一个插座。在 我可以指定远程地址等等。所以当我

  • 嗨,我的问题很简单: 我尝试通过TCP连接建立UDP连接(因为多个客户端通过多个通道连接到服务器,我想通过主TCP连接识别相同的客户端) 我通过在客户机上创建TCP和UDP套接字来实现这一点,并通过TCP将操作系统随机分配的本地UDP端口传输到服务器。(在Windows上,我通过getsocketname()获得sendto()之后的端口)。在服务器上,我使用这个端口将UDP数据包发送到这个客户机

  • 根据它的文档,citrix-ingress似乎允许这样做,但我们有很多问题让它工作。 有没有什么我们可能错过的方法可以做到这一点?想要确保我们没有错过一些明显的东西。