- 论坛徽章:
- 0
|
看代码先,这是服务端:
- #!c:\\perl\\bin\\perl.exe
- use warnings;
- use strict;
- use Socket;
- my $lport = 1234;
- my $lhost = 'localhost';
- socket(my $socket, AF_INET, SOCK_STREAM, getprotobyname('tcp'));
- bind($socket, sockaddr_in($lport, inet_aton($lhost)));
- listen($socket, 10);
- accept(my $newsocket, $socket);
- $newsocket->autoflush(1);
- while(<STDIN>){
- print $newsocket $_;
- my $result = <$newsocket>;
- print "$.\."."$result";
- }
复制代码 这是客户端:
- #!c:\\perl\\bin\\perl.exe
- use warnings;
- use strict;
- use Socket;
- my $rhost = 'localhost';
- my $rport = 1234;
- socket(my $socket, AF_INET, SOCK_STREAM, getprotobyname('tcp'));
- connect($socket, sockaddr_in($rport, inet_aton($rhost)));
- $socket->autoflush(1);
- while(<$socket>){
- chomp;
- my $result = `$_`;
- print $socket "$result";
- }
复制代码
问题是, 为什么只能发一次信息?
为什么收到的信息不完整?
比如我发送dir回去
回显只有一条, 另外的要按多几次回车才能接收,
但是, 好只能发送一次信息, 第二次发送时不能输入, 请问这是什么问题?
|
|