gpt4 book ai didi

perl - Perl客户端/服务器套接字

转载 作者:行者123 更新时间:2023-12-03 12:01:31 26 4
gpt4 key购买 nike

--|proxy|--|mux|--|demux|--|proxy|--
--
--
--
machineA satellite link machineB

172.16.1.224 172.16.1.218



你好,

我已经按照上面的步骤安装了。我正在尝试创建“mux”。基本上,它从代理读取流量,并将其拆分以通过4线传输。 “多路分配器”读取4条线并将流量转发到代理。

我在Perl中有一个基本的客户端/服务器设置。但是我不知道如何将流量从代理传递到“多路复用器”?

这是我的代码:

server.pl -运行于172.16.1.218
use IO::Socket;
$| = 1;
$socket = new IO::Socket::INET (
LocalHost => '172.16.1.218',
LocalPort => '5000',
Proto => 'tcp',
Listen => 5,
Reuse => 1
);
die "Coudn't open socket" unless $socket;
print "\nTCPServer Waiting for client on port 5000";

while(1)
{
$client_socket = "";
$client_socket = $socket->accept();
$peer_address = $client_socket->peerhost();
$peer_port = $client_socket->peerport();

#print "\n I got a connection from ( $peer_address , $peer_port ) ";
while (1){
$send_data = <STDIN>;
$client_socket->send($send_data);
$client_socket->recv($recieved_data,10);
print $recieved_data;#."\n";
#$client_socket->autoflush();
}
}

和:

client.pl
use IO::Socket;

$socket = new IO::Socket::INET (
PeerAddr => '172.16.1.224',
PeerPort => 5000,
Proto => 'tcp',
)
or die "Couldn't connect to Server\n";

while (1) {
$socket->recv($recv_data,10);
print $recv_data."\n";
$send_data = <STDIN>;
$socket->send($send_data);
}

我有点卡住,不胜感激。

提前谢谢了,

最佳答案

  • 您的服务器仅处理一个连接。您应该使用一组连接(@socket)。
  • 您有两个嵌套的无限循环。由于内心永远不会结束,因此您将只参加第一个连接。

  • 这似乎是典型的聊天服务器,所以我建议您在Google上搜索“perl聊天服务器”。这里有一些可以帮助您的源代码:

    http://sourceforge.net/projects/perlchat/

    关于perl - Perl客户端/服务器套接字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6452702/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com