3
그래서 while 루프를 사용하여 소켓을 반복하면서이 문제가 발생합니다.chomp()를 사용하면 인쇄가 실패합니다.
내가 이것을 사용하면 완전히 작동하지만 나는 원하지 않는 모든 $message
에 줄 바꿈을했다.
my $socket = new IO::Socket::INET (
LocalHost => "127.0.0.1",
LocalPort => "12345",
Proto => 'tcp',
Listen => 1,
Reuse => 1
);
my $client = $socket->accept();
while(<$client>) {
my $message = $_;
print $message;
}
하지만 (나는 이유를 이해) 클라이언트 연결을 끊을 때 나는 루프는 완료 씹는을 추가 할 때. 내 생각에 chomp는 $_
변수에서 개행을 제거하므로 루프가 더 이상 작동하지 않습니다.
my $socket = new IO::Socket::INET (
LocalHost => "127.0.0.1",
LocalPort => "12345",
Proto => 'tcp',
Listen => 1,
Reuse => 1
);
my $client = $socket->accept();
while(<$client>) {
my $message = $_;
chomp($message);
print $message;
}
그래서 제 질문은 : 소켓을 통해 I 루프 (줄 바꿈 종료) 어떻게 메시지에 줄 바꿈을하지 않고?
감사합니다.
좋아, 내가 알아 낸 것은 $ 메시지를 출력 할 때이다. "\ n"; 작동합니다. 관련이 있습니까? –
답변을 주셔서 감사합니다. 솔루션이 효과적이었습니다. 지금 궁금한 Im, 다른 루프에서도 처리 할 수 있습니까? –
@JamieFlowers 무언가를'인쇄 '하면 쉘의 인쇄 버퍼로 보내집니다. 이 버퍼는 개행이 나타날 때까지 실제로 인쇄되지 않습니다. 실제 오류가 아니라 단지 지연입니다. – TLP