TCP套接字从多个顺序客户端转发到与服务器的单个持久套接字连接

罗伯·C

我有三个程序(A,B和C)。程序C具有一个tcp套接字服务器,用于等待特定端口上的连接。通常,程序A打开到程序C的套接字连接,发送数据,然后关闭套接字,再次打开套接字,再次发送数据,关闭它,等等。问题是,每次在C上打开套接字时,都会进行很多初始化是在程序C上完成的,因此套接字的这种持续打开和关闭正在减慢A的速度。我没有能力更改程序A,因此无法更改A来使程序运行得更快。

但是,我想做的是将套接字连接从A转发到新程序B,然后将数据转发到程序C。然后B可以只打开一个套接字到C,然后打开和关闭从A传入的连接,就像需要。我正在寻找程序B来执行以下操作:

open socket to C
send request to C to do the time-consuming initialization on C (just this once)
while true
  listen for socket connection from A
  until socket from A is closed
    read data from A, write same data to C
    read data from C, write same data to A

这不是一个复杂的程序,我会在必要时编写它,但是我希望有人使用现有的实用程序提供一个简单而聪明的解决方案,或者希望是否有一些现有的实用程序能够在更复杂的类似情况下进行此类操作。

斯蒂芬·查泽拉斯(Stephane Chazelas)

socat

mkfifo pipe &&
<pipe socat tcp-listen:"$portB",reuseaddr,fork,bind=localhost - |
  socat - tcp:localhost:"$portC" >pipe

甚至更好(避免进行进程间通信的fifo和额外的层):

socat "tcp:localhost:$portC" \
      "exec:\"socat - tcp-listen:$portB,reuseaddr,fork,bind=localhost\",nofork"

由于nofork,第二个socat将以其stdin和stdout直接连接到C的套接字运行。

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Java TCP 客户端/服务器套接字

来自分类Dev

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

来自分类Dev

Java中持久的客户端-服务器套接字连接

来自分类Dev

音频数据的TCP套接字通信-多个服务器到多个客户端

来自分类Dev

Python 2.7.8:套接字-TCP套接字中的客户端服务器数据丢失

来自分类Dev

C#TCP套接字服务器客户端连接

来自分类Dev

TCP套接字服务器/客户端连接应使用哪个IP /端口?

来自分类Dev

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

来自分类Dev

客户端断开连接后,C 套接字 TCP 服务器出现故障

来自分类Dev

将客户端套接字与服务器套接字连接时出现问题

来自分类Dev

如何使服务器套接字广播到那里,并让客户端套接字检测并连接

来自分类Dev

PHP客户端套接字与C#套接字服务器的连接

来自分类Dev

套接字服务器同时响应来自客户端套接字的多个请求

来自分类Dev

如何从Android Tcp客户端套接字连接到具有公共IP的Java TCP服务器套接字?

来自分类Dev

Python套接字服务器/客户端编程

来自分类Dev

C客户端/服务器套接字错误

来自分类Dev

套接字编程-简单的客户端/服务器

来自分类Dev

客户端js上的套接字服务器?

来自分类Dev

Java客户端/服务器套接字问题

来自分类Dev

C#Xamarin UWP / Android服务器-客户端套接字TCP无法正确连接

来自分类Dev

如何重用打开的客户端连接与服务器上的分叉子进程(TCP/IP 套接字)

来自分类Dev

如何使服务器套接字广播在那里,并让客户端套接字检测并连接

来自分类Dev

如何使用url将python套接字客户端连接到服务器套接字?

来自分类Dev

客户端套接字无法连接到服务器套接字,[Errno 32] 管道损坏错误

来自分类Dev

设置客户端套接字和服务器套接字侦听器 (Java)

来自分类Dev

Spring Integration和TCP服务器套接字-如何向客户端发送消息?

来自分类Dev

通过python中的TCP套接字在客户端-服务器之间发送文件?

来自分类Dev

在C ++中使用TCP套接字进行远程客户端和服务器通信

来自分类Dev

客户端-服务器套接字通信TCP / IP中的对象问题

Related 相关文章

  1. 1

    Java TCP 客户端/服务器套接字

  2. 2

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

  3. 3

    Java中持久的客户端-服务器套接字连接

  4. 4

    音频数据的TCP套接字通信-多个服务器到多个客户端

  5. 5

    Python 2.7.8:套接字-TCP套接字中的客户端服务器数据丢失

  6. 6

    C#TCP套接字服务器客户端连接

  7. 7

    TCP套接字服务器/客户端连接应使用哪个IP /端口?

  8. 8

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

  9. 9

    客户端断开连接后,C 套接字 TCP 服务器出现故障

  10. 10

    将客户端套接字与服务器套接字连接时出现问题

  11. 11

    如何使服务器套接字广播到那里,并让客户端套接字检测并连接

  12. 12

    PHP客户端套接字与C#套接字服务器的连接

  13. 13

    套接字服务器同时响应来自客户端套接字的多个请求

  14. 14

    如何从Android Tcp客户端套接字连接到具有公共IP的Java TCP服务器套接字?

  15. 15

    Python套接字服务器/客户端编程

  16. 16

    C客户端/服务器套接字错误

  17. 17

    套接字编程-简单的客户端/服务器

  18. 18

    客户端js上的套接字服务器?

  19. 19

    Java客户端/服务器套接字问题

  20. 20

    C#Xamarin UWP / Android服务器-客户端套接字TCP无法正确连接

  21. 21

    如何重用打开的客户端连接与服务器上的分叉子进程(TCP/IP 套接字)

  22. 22

    如何使服务器套接字广播在那里,并让客户端套接字检测并连接

  23. 23

    如何使用url将python套接字客户端连接到服务器套接字?

  24. 24

    客户端套接字无法连接到服务器套接字,[Errno 32] 管道损坏错误

  25. 25

    设置客户端套接字和服务器套接字侦听器 (Java)

  26. 26

    Spring Integration和TCP服务器套接字-如何向客户端发送消息?

  27. 27

    通过python中的TCP套接字在客户端-服务器之间发送文件?

  28. 28

    在C ++中使用TCP套接字进行远程客户端和服务器通信

  29. 29

    客户端-服务器套接字通信TCP / IP中的对象问题

热门标签

归档