我一直在努力寻找一个简单的客户端ipv6脚本 这可以与Evens服务器脚本一起使用,当然我 不知道我在做什么,所以我能做的就是重写一个人 别的工作,直到我知道我在做什么...
所以这是一个适用于Microsoft widows服务器的服务器脚本
use IO::Socket::IP -register;
my $sock = IO::Socket->new(
Domain => PF_INET6,
LocalHost => "::1",
Listen => 1,
) or die "Cannot create socket - $@\n";
print "Created a socket of type " . ref($sock) . "\n";
{
$in = <STDIN>;
print $in->$sock;
redo }
当然$ in-&gt; $ sock无效,因为我不知道如何发送 使用$ sock的数据??? 所以我需要知道如何正确发送信息和 我需要的是一个连接上述脚本的客户端脚本 使用ipv6协议
任何人都可以帮忙吗??? 我希望能够从一个发送信息 使用这个perl程序到另一个perl程序 能够来回发送信息会 是理想的......
提前致谢 -Mark
答案 0 :(得分:1)
这是服务器套接字(Listen => 1
),因此您必须accept
建立连接。
use IO::Socket::IP -register;
my $listen_sock = IO::Socket::IP->new(
LocalHost => "::1", # bind()
Listen => 1, # listen()
) or die "Cannot create socket - $@\n";
print("Listening to ".$listen_sock->sockhost()." "
.$listen_sock->sockport()."\n");
while (1) {
my $sock = $listen_sock->accept()
or die $!;
print("Connection received from ".$sock->peerhost()." "
.$sock->peerport()."\n");
while (<$sock>) {
print $sock "echo: $_";
}
}
客户:
use IO::Socket::IP -register;
@ARGV == 2 or die("usage");
my ($host, $port) = @ARGV;
my $sock = IO::Socket::IP->new(
PeerHost => $host, # \ bind()
PeerPort => $port, # /
) or die "Cannot create socket - $@\n";
print $sock "Hello, world!\n";
$sock->shutdown(1); # Done writing.
print while <$sock>;
注释表示用于执行操作的基础系统调用。