1. <?php
  2. $sock = socket_create(AF_INET, SOCK_STREAM, SOL_TCP) or die(socket_last_error());
  3.  
  4. if (!socket_connect($sock, $this->host, $this->port)) {
  5.  
  6. echo socket_last_error();
  7. return null;
  8. }
  9. $a = serialize($this->sendArray);
  10. if (!socket_write($sock, $a, strlen($a))) {
  11. echo socket_last_error();
  12. return null;
  13. }
  14. //wait for answer
  15. if (!($ans = socket_read($sock, 3, PHP_NORMAL_READ))) {
  16.  
  17. echo socket_strerror(socket_last_error($sock));
  18. return null;
  19. }
  20. echo "And = $ans <br>";
  21.  
  22. socket_close($sock);
  23. ?>

mam sobie ja taki kod - całość wysyła się do skryptu w perlu który sobie grzecznie nasłuchuje i robi to co potrzeba - w efekcie wysyła odpowiedz w postaci stringa. Jednak skrypt php konczy żywot na socket_read gdzie printuje
Warning: socket_read() [function.socket-read]: unable to read from socket [0]: Operacja ukoñczona pomyœlnie" title="Zobacz w manualu php" target="_manual

kod softu w perlu jest taki
  1. <?php
  2. my $s = new IO::Socket::INET(
  3.  LocalPort => '7070',
  4.  Proto => 'tcp',
  5.  Listen => 16,
  6.  Reuse => 1,
  7. );
  8. die "Could not create socket: $!n Server exit!" unless $s;
  9.  
  10. print "Socket created. Listening on port 7070!n";
  11.  
  12. my ($ns, $buf, $pid);
  13. while( $ns = $s->accept() ) { # wait for and accept a connection
  14.  #print "Incomed connn";
  15.  #print $ns "Welcomen";
  16.  if( defined( $buf = <$ns> ) ) { # read from the socket
  17.  
  18. print $ns "abcn";
  19. ?>

przy laczeniu sie np. puttym wszystko dziala OK, string jest pieknie wysylany i odbierany...