Главная страница


ru.perl

 
 - RU.PERL ----------------------------------------------------------------------
 From : Timur V. Irmatov                     2:5020/400     10 Sep 2001  13:12:09
 To : All
 Subject : unix domain UDP
 -------------------------------------------------------------------------------- 
 
 
 Здравствуйте, All!
 
 Вот, написал простого сервера и клиента для передачи UDP датаграмм через
 unix-domain sockets. Клиент посылает серверу строку, прочитанную из
 стандартного ввода и выводит ответ от сервера. Сервер должен просто
 перевести полученную строку в uppercase и передать ее обратно. Hе получается
 ответ: Invalid argument
 Клиент:
 
 #!/usr/bin/perl -w
 use strict;
 use Socket;
 
 my($path) = "/tmp/st";
 socket(SOCKET, PF_UNIX, SOCK_DGRAM, 0) or die "socket(): $!\n";
 
 while (1) {
     send SOCKET, "test message\n", 0, sockaddr_un($path)
         or die "send failed: $!\n";
     my($msg);
     my($from) = recv SOCKET, $msg, 0, 0 or die "recv failed: $!\n";
     print $msg;
 }
 
 Сервер:
 
 #!/usr/bin/perl -w
 #require 5.002;
 use strict;
 use Socket;
 
 my($path) = "/tmp/st";
 unlink $path;
 socket(SOCKET, PF_UNIX, SOCK_DGRAM, 0) or die "socket(): $!\n";
 bind(SOCKET, sockaddr_un($path))       or die "bind(): $!\n";
 
 while (1) {
     my($msg);
     my($from) = recv SOCKET, $msg, 128, 0 or die "recv failed: $!\n";
     print "received: $msg\n";
     $msg = "\U$msg\E";
     send SOCKET, $msg, 0, $from or die "send failed: $!\n";
 }
 
 И вот send в сервере не проходит :(
 В чем грабли ?
 -- 
 Отправлено через сервер Talk.Ru - http://www.talk.ru
 --- ifmail v.2.15dev5
  * Origin: Talk.Ru (2:5020/400)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 unix domain UDP   Timur V. Irmatov   10 Sep 2001 13:12:09 
Архивное /ru.perl/64887bffd779.html, оценка 2 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional