SoloCodigo
Programación General => C/C++ => Mensaje iniciado por: djxim en Sábado 23 de Febrero de 2002, 11:12
-
bueenass :)
a ver si podeis decirme de alguna pagina que explique el uso de sockets en c/c++ o explicarmelo aqui si no es muy largo, que quiero aprender:P
gracias a todos. sois los mejores ;)
-
umm, espero que te sirva:
http://www.starlinux.com.ar/articulos/sockets.html (http://www.starlinux.com.ar/articulos/sockets.html)
Saludos,
Tenesor
-
gracias tenesor;) no entiendo mucho, asi que me apunto la direccion pa cuando sepa programar mejor.
otra cosa mas, la pagina esa se llama starlinux asi que supongo q la explicacion es para linux, vale tb para windows?
thanx a to2 ;)
-
Pues depende de lo que sockets quieras programs.
Yo supuse que querias programar con los Sockets TCP/IP (redes-inet) que son los mismos tanto para win como para linux/unix porque usan la misma implementacion, aunque cada uno (en el tema mas avanzado) tiene sus particularidades. Luego, en unix estan los sockets que comunican los procesos del propio sistema, que estos si que ya son especificos.
El link que te puse, es bastante completo, por lo tanto mas largo y a la vez mas pesado:). Si quieres uno (que tambien es muyb bueno, a mi me gusto mucho) un poquito mas corto y bien explicado te lo puedo mandar al correo (pesa poco, esta en formato HTML) Te pondría el link pero es que no me acuerdo de donde lo baje. Este ultimo lo escribio alguien o varios del grupo Biohazard (un grupo de creadores de virus). Cuando te metas un poco mas en el tema de los sockets te darás cuenta del porque de este/a/@s autores/as;)
Saludos,
Tenesor
-
si me lo pudierass enviar te lo agradeceria mucho. mi mail es [email:my4jkmld]x_ximo@hotmail.com[/email:my4jkmld]
salu2
-
jeje pos si no fuera mucha molestia a mi tambien me gustaria disponer de dicho tutorial.
Muchas gracias.
delapajar@hotamil.com
-
Otro acople :D :P
ybkezada@hotmail.com
Porfa jeje
-
OK, ya lo he enviado a los tres.
A lo mejor os llega dos veces, el primero que he enviado me ha rebotado, pero me ha rebotado por la direccion de delpa, asi que lo he vuelto a enviar a los tres por si acaso.
Si al final no os llega a ninguno:( me lo decis y lo envio uno a uno.
Saludos,
Tenesor
-
a mi si q me ha llegao tenesor. muchas graciasss :D:D:D:D;);)
-
Jur pos a mi no me ha llegado, si eso prueba otra vez, si no pos nada.
Muchas gracias.
-
jejejeje, asi que eras tu el culpable? Me rebotaba alguna direccion pero no me decia cual
Ya te lo he vuelto a enviar.
Saludos,
Tenesor
-
Hola Delpa!
Lo siento pero es que me sigue rebontando tu direccion...
Tienes alguna cuenta alternativa o esta mal escrita?
Saludos,
Tenesor
-
:) Ya que he visto que han manejado informacion de sockets, a ver si me pueden ayudar. Necesito un codigo de sockets para un servidor que escuche multiples clientes, para eso debo crear una especie de descriptor de archivos de sockets (no debo hacerlo con fork), para escuchar a los clientes creo que se recorre los descriptores. Se que este codigo estuvo en code.box.sk, pero lo he buscado en diferentes partes y no encuentro nada. Ojala me puedan ayudar.
-
petcher
El Tema es Bastante interesante, ya que es la base de la filosofia cliente servidor:
De Tal forma que la Aplicacion Tiene Dos Puntos de Vista:
El Primero desde el Punto de vista del Cliente que va a recibir el servicio
Y el Segundo desde el punto de vista del Servidor que es Quien Va a Prestar el Servicio a los Diferentes Clientes.
Me Pareceria interesante Que Plantearamos Un Nuevo Tema Para Crear Una Aplicación Cliente Servidor en el dominio internet.
-
Hola a todos:
Gracias Tenesor y bench por sus respuestas, pero encontre lo que buscaba con alguna ayuda.
No manejo muy bien el tema aun, pero se utiliza la funcion select(), y con esto se elige un descriptor desde un grupo, asi el servidor escucha a multiple clientes y sin necesidad de hacer un fork() como la mayoria de los codigos que existen.
Bueno, el manual lo encontre en code.box.sk, ahi buscas por sockets y aparece la "Beej's Guide to Network Programming", es una manul super bueno, hay opciones de bajarlo y tb distintos idiomas, la version en español esta en http://www.arrakis.es/~dmrq/beej/index.html (http://www.arrakis.es/~dmrq/beej/index.html)
En fin, todo el manual es bueno, pero en lo particular en la seccion 6.2 esta el tema y un muy buen ejemplo.
Pero, no todo es alegri, tengo una nueva duda y quizas ustedes puedan ayudar,
necesito conectar dos proceso con socketpair(), y lo he hecho con un proceso padre e hijo, es decir con un fork(), pero no se si se pueda hacer con dos procesos distintos, o mas bien escribiendo dos codigos didtintos, si conocen algo, les agradeceria la ayuda.
salud2
:o
-
petcher
Lo Siento La Informaciòn Sobre la conexiòn entre sockes Se Perdio al Tratar de enviarla Lamentablemente la Elabore en Linea y Se Perdio. cuando Tenga Tiempo Te la Envio Por correo.
Aparentemente hay Prolemas con el Foro Da un Mensaje de Error en la Base de Datos.
Un Socket es Un Punto de Conexión entre Procesos Si Se Estan ejecutando en la Misma Maquina o en la Red.
La Primitima soketpair Crea Dos sokets enlazados en el dominio UNIX (AF_INET) y a Su Retorno Obtenemos Sus Descriptores de Archivo en el Cuarto Parameto El cual Debe Ser Un Array de 2 Enteros.
PROTOTIPO:
soketpair(Dominio,Tipo,Protocolo,Fid_Socks)
int Dominio; /*AF_UNIX*/
int Tipo; /*SOCK_DGRAM ó SOCK_STREAM */
int Protocolo; /* 0 */ /*Protocolo Subyacente al tipo */
int *Fid_Socks; /*int FID_SOCKS[2] */
Los Sokets Creados Con Esta Primitiva Solo Pueden Trabajarse Localmente en el DOMINO UNIX).
Por Otra Parte Toda conexion entre Dos Sockets del Tipo SOCK_STREAM (Protocolo Subyacente TCP) es el Resultado de una llamada con exito a la Primitiva connect. Creando un circuito Virtual entre los dos Procesos cuyos extremos son los sockets. Este Circuito Permite el Uso de las Primitivas de ENTRADA/SALIDA read y write. o las Primitivas especificas para sockets send y recv.
PROTOTIPO:
int connect(Sock_Local.Punt_Adr,Len_Adr)
int Sock_Local; /*Descritor del Socket LocaL*/
struct sockaddr *Punt_Adr; /*Dirección del Socket Remoto */
int Len_Adr; /* Longitud de la Dirrecccion Remota */
VALOR DE RETORNO:
0 Si la conexion Pudo Establecerse.
-1 Si Hubo un Fallo en la conexion y la variable "errno" Permite conocer la Razon del Fallo.