新手试图在Windows上使用IO :: Socket

时间:2011-12-20 21:33:15

标签: perl

我是IO :: SOCKET的新手,也是网络编程新手。我已经阅读了一些关于相同的在线教程。我正在Windows上运行Perl :(别无选择。我的目标是通过本地机器上的套接字连接2个进程。一个进程是通过GPIB命令控制设备的Perl脚本。其他进程是带有Socket连接的.exe文件(类似于带有Socket连接的Server程序)。

这是我打算做的。在我的Perl脚本中创建一个客户端套接字并将其连接到.exe套接字(通过端口)。用于读/写操作的fork客户端程序。问题是我不知道从哪里开始编码。我想我需要一个主要的Perl脚本,并制作另一个通过GPIB作为Perl模块控制设备的Perl脚本。

我很感激关于这个想法和套接字连接的一些编程示例的一些反馈。

1 个答案:

答案 0 :(得分:2)

运行不祥的服务器可执行文件。它绑定到一个端口并开始监听。要通过套接字进行有意义的数据交换,您需要了解三件事:

  1. 主机名
  2. 端口号
  3. 协议,即与服务器通话时应该说什么,以及如何解释其答案

  4. use IO::Socket::IP qw(SOCK_STREAM);
    my $socket = IO::Socket::IP->new(
        PeerHost => $host_name,
        PeerPort => $port_number,
        Type     => SOCK_STREAM,    # Transmission Control Protocol
    ) or die "Cannot construct socket - $@";
    $socket->say('Hello, server! How are you doing?');
    say for $socket->getlines;
    

    有关可用方法的相关文档位于IO::Socket::IPIO::SocketIO::Handle