C/Visual C - ayuda con socket en C++

 
Vista:

ayuda con socket en C++

Publicado por Victor (3 intervenciones) el 29/05/2006 18:10:46
Hola, oigan necesito ayuda con un juego que estoy haciendo, es un juego 3D diseñado con OGRE como motor grafico, consiste basicamente en 2 tanques que se disparan a larga distancia en un tereno 3D y la idea es que sea multiplayer por eso queria saber si alguno de ustedes sabe como puedo hacer esto, porque me imagino que no debe ser muy dificil pero no tengo idea como conectar los PCs con socket en C++.

Eso es si alguien tuviera una idea o algun codigo por ahi que me pueda servir se lo agradeceria mucho.

Vics
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:ayuda con socket en C++

Publicado por fernando.gomez (1603 intervenciones) el 30/05/2006 05:54:43
Pregunta tonta sabiendo que se trata de un juego: ¿Empleas MFC? Si por algún mísero asar del destino sí empleas MFC, tienes disponible la clase CSocket. Como es un juego, asumo (y espero) que no estés empleando MFC.

El manejo de sockets es sumamente complicado, ya que es un estándar de BSD Unix por lo que tienes que manejar rutinas de muy bajo nivel (como convertir entre little endians y big endians), por lo que te recomiendo que entres a www.codeproject.com y busques alguna clase de sockets ya implementada.

Por otra parte, Win32 proporciona una API de más alto nivel para manejar sockets, llamada WinINet. En www.msdn.microsoft.com encuentras información al respecto, pero la idea es abrir un handle con InternetOpen, conectarte con InternetConnect etc, a través de algún protocolo en particular (HTTP es lo más recomendable, aunque también tienes disponible Gopher, FTP y sockets normalitos). Haces llamadas con HttpRequest, HttpSendResponse y con InternetOpen abres las respuestas. Interpretas los bytes que transmitiste y cierras tus manejadores con InternetCloseHandle.

Sin embargo, yo me iría más por buscar alguna implementación en codeproject.com.

Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

RE:ayuda con socket en C++

Publicado por chuidiang (73 intervenciones) el 31/05/2006 13:43:40
Hola:

Aquí http://www.chuidiang.com/clinux/sockets/sockets_simp.htm tienes un ejemplo muy básico de socket en C. Está contado para linux, pero si usas winsock es prácticamente calcado.
Una vez que entiendas los conecptos, búscate algún tutorial de winsock o winsocket, hay muchos.

Se bueno.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:ayuda con socket en C++

Publicado por Vics (3 intervenciones) el 31/05/2006 17:42:30
a buena te pasast, le voy a hechar una mirada debera ser lo mismo pa windows en c++ ojala.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:ayuda con socket en C++

Publicado por Vics (3 intervenciones) el 02/06/2006 03:49:45
Oye y no cachai ocmo hacerlo pa c++, porque me dijeron k era bien diferente que pa c??
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

RE:ayuda con socket en C++

Publicado por chuidiang (73 intervenciones) el 03/06/2006 05:41:10
Hola:

No conozco una libería de sockets para C++ (eso no quiere decir que no exista).
Las funciones que te pasé para inux valen tanto para C como para C++.
En windows es exactamente lo mismo. Puedes buscar algún tutorial de winsocket que hay muchos. La única diferencia es que en windows la librería viene en un dll y antes de usarla hay que cargarla con wsastartup. Puedes echar un ojo en http://www.sockets.com/winsock.htm y buscar esa funcion.

Se bueno.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar