服务器可以直接连接它所连接的两个套接字吗?

蜉蝣

假设我在 Internet 上有一个用 C 编写的公共服务器,它连接到两个独立的客户端。两个客户端都发起了连接。一个客户端是(例如)iOS 应用程序,另一个是本机 Windows 应用程序。

我的服务器的目的是允许这些客户端相互发送文本消息。客户端 1 发送消息,服务器接收它,然后将其转发到客户端 2。当客户端 2 发送消息时,同样的事情会反过来发生。

这感觉效率低下。我真正想要的是让这两个连接都联系服务器,然后让服务器将这两个客户端直接相互连接 - 之后我的服务器可以忘记这两个客户端,因为它们负责相互通信。然后我的服务器可以以相同的方式自由连接其他客户端。

我的问题是:这甚至可能(使用 TCP 和/或 UDP)吗?两个客户端都不一定有公共 IP 地址,这就是它们必须发起连接的原因。但是,一旦建立连接,我的服务器就知道两个客户端的连接地址。有没有办法将它们连接在一起?也许可以做这种事情的系统调用?

滑雪

不,您不能将两个现有的 TCP 连接加入一个。

有2个选项:

1)保持你的服务器在中间,因为它已经是。如果您在一台服务器下没有数千个客户端,那应该没有问题。

2) 服务器可以向客户端发送控制消息,并命令这些客户端之间打开新的 TCP 连接。服务器还应该决定两个客户端中的哪一个必须是新 TCP 连接的发起者。

选项 2 有问题,因为客户端可能有防火墙规则阻止连接到所需端口。NAT 也会导致问题。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

服务器可以在c中打开两个TCP套接字吗?

来自分类Dev

两个4G USB加密狗可以直接连接吗?

来自分类Dev

如何在没有服务器的情况下通过套接字连接两个Android设备

来自分类Dev

两个客户端无法在套接字客户端-服务器连接中互相交谈

来自分类Dev

使用python和Typscript连接两个套接字(客户端和服务器)

来自分类Dev

socket.io - 客户端通过同一服务器连接到两个套接字

来自分类Dev

我们可以将 Flask 应用程序直接连接到 Nginx 服务器吗?

来自分类Dev

客户端可以同时具有到同一套接字侦听器的两个连接吗?

来自分类Dev

同时连接到两个OpenVPN服务器

来自分类Dev

当服务器具有多个接口时,最好直接连接到电缆调制解调器吗?

来自分类Dev

Kafka启动失败,并导致Zookeeper超时(远程服务器),但是计算机可以直接连接到Zookeeper

来自分类Dev

我应该在两个交换机之间的直接连接上获得链接状态吗?

来自分类Dev

TCP套接字服务器客户端连接fd会导致内存泄漏吗?

来自分类Dev

Moqui-通过SSL连接连接到IMAP服务器吗?

来自分类Dev

连接到在Eclipse中运行的服务器套接字

来自分类Dev

具有套接字连接的后台运行服务器

来自分类Dev

不同服务器中的套接字TCP连接

来自分类Dev

服务器/客户端套接字连接

来自分类Dev

Flutter无法连接到套接字服务器

来自分类Dev

服务器套接字断开连接并停止监听

来自分类Dev

连接到在Eclipse中运行的服务器套接字

来自分类Dev

JUnit负载测试与服务器的数千个并发套接字连接

来自分类Dev

Rust TCP套接字服务器仅使用一个连接

来自分类Dev

链接两个交换机是否不同于将两个交换机直接连接到路由器?

来自分类Dev

在同一端口上运行两个套接字服务器

来自分类Dev

Python-从两个UDP套接字监听服务器

来自分类Dev

侦听两个不同套接字接口的服务器程序

来自分类Dev

在同一端口上运行两个套接字服务器

来自分类Dev

套接字未同时从服务器接收到两个消息

Related 相关文章

  1. 1

    服务器可以在c中打开两个TCP套接字吗?

  2. 2

    两个4G USB加密狗可以直接连接吗?

  3. 3

    如何在没有服务器的情况下通过套接字连接两个Android设备

  4. 4

    两个客户端无法在套接字客户端-服务器连接中互相交谈

  5. 5

    使用python和Typscript连接两个套接字(客户端和服务器)

  6. 6

    socket.io - 客户端通过同一服务器连接到两个套接字

  7. 7

    我们可以将 Flask 应用程序直接连接到 Nginx 服务器吗?

  8. 8

    客户端可以同时具有到同一套接字侦听器的两个连接吗?

  9. 9

    同时连接到两个OpenVPN服务器

  10. 10

    当服务器具有多个接口时,最好直接连接到电缆调制解调器吗?

  11. 11

    Kafka启动失败,并导致Zookeeper超时(远程服务器),但是计算机可以直接连接到Zookeeper

  12. 12

    我应该在两个交换机之间的直接连接上获得链接状态吗?

  13. 13

    TCP套接字服务器客户端连接fd会导致内存泄漏吗?

  14. 14

    Moqui-通过SSL连接连接到IMAP服务器吗?

  15. 15

    连接到在Eclipse中运行的服务器套接字

  16. 16

    具有套接字连接的后台运行服务器

  17. 17

    不同服务器中的套接字TCP连接

  18. 18

    服务器/客户端套接字连接

  19. 19

    Flutter无法连接到套接字服务器

  20. 20

    服务器套接字断开连接并停止监听

  21. 21

    连接到在Eclipse中运行的服务器套接字

  22. 22

    JUnit负载测试与服务器的数千个并发套接字连接

  23. 23

    Rust TCP套接字服务器仅使用一个连接

  24. 24

    链接两个交换机是否不同于将两个交换机直接连接到路由器?

  25. 25

    在同一端口上运行两个套接字服务器

  26. 26

    Python-从两个UDP套接字监听服务器

  27. 27

    侦听两个不同套接字接口的服务器程序

  28. 28

    在同一端口上运行两个套接字服务器

  29. 29

    套接字未同时从服务器接收到两个消息

热门标签

归档