我的Linux Perl脚本有问题.它的主要目的是成为3个应用程序之间的中间人.该怎么做:
$udp_port 问题是我的应用程序当前工作,直到我第一次断开TCP客户端.然后我再也无法连接它了,它在接收到下一个UDP数据包后超时$udp_port.因此,基本上每当我想重新连接TCP时,我都必须重新启动应用程序.
所有这一切都应该尽可能快(每毫秒计数).发送到UDP或TCP的文本不包含空格.没有必要同时支持多个TCP客户端,但它肯定会有利:-)
这是我目前的代码:
#!/usr/bin/perl
use strict;
use warnings;
use IO::Socket;
use Net::hostent;
use threads;
use threads::shared;
my $tcp_port = "10008"; # connection from TCP Client
my $udp_port = "2099"; # connection from Announcer
my $udp_password = ""; # password from Announcer
my $title = "Middle Man server version 0.1";
my $tcp_sock = IO::Socket::INET->new( Proto => 'tcp', LocalPort => $tcp_port, Listen => SOMAXCONN,Reuse => 1)|| die @!;
my $udp_sock = new IO::Socket::INET(LocalPort => $udp_port, …Run Code Online (Sandbox Code Playgroud)