- 论坛徽章:
- 0
|
写了一个客户与服务器, 如下,
我想问一下, 如果我想这个service与client交互, 也就是可以相互发送信息(像聊天), 要怎么写?
service.pl
- #!c:\\perl\\bin\\perl.exe
- use warnings;
- use strict;
- use Socket;
- use POSIX ":sys_wait_h";
- my $socket_close = 0;
- $SIG{CHLD} = sub{$socket_close++};
- my $lport = 4444;
- my $laddr = sockaddr_in($lport, INADDR_ANY);
- #压缩地址
- socket(my $socket, AF_INET, SOCK_STREAM, getprotobyname('tcp'));
- #创一个SOCKET
- #绑定
- bind($socket, $laddr);
- listen($socket, 10);
- print "Waiting....\n";
- accept(my $new_socket, $socket);
- $new_socket->autoflush(1);
- print "New client connect success!\n";
- print $new_socket "Welcome!";
复制代码
client:
- #!c:\\perl\\bin\\perl.exe
- use warnings;
- use strict;
- use Socket;
- my $rhost = '127.0.0.1';
- my $rport = 4444;
- socket(my $socket, AF_INET, SOCK_STREAM, getprotobyname('tcp'));
- $rhost = inet_aton($rhost);
- my $target = sockaddr_in($rport, $rhost);
- #connect($socket, sockaddr_in($rport,inet_aton($rhost)));
- connect($socket, $target);
- $socket->autoflush(1);
- my $input = <$socket>;
- print $input;
复制代码
|
|