Я пытаюсь написать линкор с Perl, который можно воспроизводить по сети. Проблема в том, что я могу печатать только на той же консоли, но не на других консолях через сокет.Perl: Печать через розетку
Клиент:
$socket = new IO::Socket::INET(
PeerHost => '127.0.0.1',
PeerPort => '5005',
Protocol => 'tcp'
) or die "Socket konnte nicht erstellt werden!\n$!\n";
print "Client kommuniziert auf Port 5005\n";
while ($eing ne ".\n") {
$eing = <> ;
print $socket "$eing";
}
Сервер:
$socket = new IO::Socket::INET(
LocalHost => '127.0.0.1',
LocalPort => '5005',
Protocol => 'tcp',
Listen => 5,
Reuse => 1
) or die "Socket konnte nicht erstellt werden!\n$!\n";
while (1) {
$client_socket = $socket -> accept();
$peeraddress = $client_socket -> peerhost();
$peerport = $client_socket -> peerport();
$eing = "";
while ($eing ne ".\n") {
print "while";
&ausgabe;
}
}
sub ausgabe {
foreach $crt_board (@board2) {
foreach $spalte (@$crt_board) {
print $client_socket "$spalte ";
}
print $client_socket "\n";
}
}
Результат должен быть совет, который выглядит следующим образом.
1 2 3 4 5
1 ? ? ? ? ?
2 ? ? ? ? ?
3 ? ? ? ? ?
4 ? ? ? ? ?
5 ? ? ? ? ?
Какой выход вы ожидаете? –
Я добавил его к вопросу. – ProfGhost
Следовательно, я полагаю, что у вас есть входной файл «доска», который вы передаете клиенту, не так ли? –