Hola

Mariel Hernandez mhernand@gwiusa.iusa.net.mx
Mon, 07 Jul 1997 10:22:35 -0600


   Hola :

       Estoy trabajando con sockets en Unix, y el programa de perl que
utilicé en la versión 2.3, lo quiero utilizar en la vesión 2.5 de Solaris,
sin embargo al tratar de abri el socket me envía el siguiente mensaje de error :

     - protocol not supported.


     El programa que empleo es el siguiente: 


 # sub initport
# Initializes the ports to receive and transmit data to a 
# tcp port connection.
sub initport {
	local($remote_name) = $_[0];
	local($port) = $_[1];
	local($AF_INET) = 2;
	local($SOCK_STREAM) = 1;
	local($sockaddr, $host_name, $name, $aliases, $proto);
	local($host_addr, $remote_addr, $len, $type, $host, $remote);
	local($telnet_port, $sockfd);
	local($protocol) = "tcp";
	
	$sockaddr = "S n a4 x8";
	chop($host_name = `hostname`);

	($name,$aliases,$telnet_port) = getservbyname("telnet", $protocol);

	($name,$aliases,$proto) = getprotobyname($protocol);
	($name,$aliases,$port) = getservbyname($port,$protocol)
		unless $port =~ /^\d+$/;;
	($name,$aliases,$type,$len,$host_addr) = gethostbyname($host_name);
	($name,$aliases,$type,$len,$remote_addr) = gethostbyname($remote_name);
	
	$host = pack($sockaddr, $AF_INET, 0, $host_addr);
	$remote = pack($sockaddr, $AF_INET, $port, $remote_addr);

	# Create a socket for an internet connection on tcp.        ### JUSTO EN
ESTA LINEA ES QUE OBTENGO EL ERROR
	if (!socket(portio, $AF_INET, $SOCK_STREAM, $proto)) {    ### AL NO
GENERARSE EL SOCKET
		&logdata("Unable to obtain socket.",
			"Reason: ".$!."\n");
			printf("returned $testval\n");
			exit(0);
	}


  Mucho les agradecería si me pudirerán dar alguna idea sobre lo que esta
ocurriendo.

  Gracias.