Sockets en Java
Enviado por Gabyking • 18 de Enero de 2015 • 554 Palabras (3 Páginas) • 141 Visitas
SOCKETS EN JAVA
1.- ¿Qué son los sockets en Java?
Los sockets son básicamente formas en las que podemos interconectar 2 (o más) programas mediante el uso de la internet.
2.- ¿Para qué se utilizan los sockets en la programación en Java?
En java se utilizan para poder crear conexiones utilizando básicamente una IP/hostname y un puerto para establecer la conexión.
3.- ¿Qué elementos participan en la programación de Sockets?
La primera de ellas es struct sockaddr, la cual contiene información del socket.
struct sockaddr_in, la cual nos ayuda a hacer referencia a los elementos del socket.
struct sockaddr_in
{
short int sin_family; /* Familia de la Dirección */
unsigned short int sin_port; /* Puerto */
struct in_addr sin_addr; /* Dirección de Internet */
unsigned char sin_zero[8]; /* Del mismo tamaño que struct sockaddr */
};
4.- Programa con sockets.
1.- SERVIDOR
import java.io.*;
import java.net.*;
public class ServidorTCP {
public static void main(String[] args) {
String lin, maylin;
try{
int port =1234;
ServerSocket welcome = new ServerSocket(port);
while (true){
System.out.println("Esperando solicitudes en puerto "+port);
Socket conecta = welcome.accept(); //espera que alguien quiera conectarse
System.out.println("Conectado a "+conecta.getInetAddress()+":"+conecta.getPort());
BufferedReader entra = new BufferedReader(
new InputStreamReader(conecta.getInputStream()));
DataOutputStream sale = new DataOutputStream(conecta.getOutputStream());
lin = entra.readLine();
while (lin != null){
System.out.println("Recibido: "+lin);
maylin = lin.toUpperCase()+"\n";
sale.writeBytes(maylin);
lin = entra.readLine(); }
}
}catch(Exception e){e.printStackTrace();}
}
}
2.- CLIENTE
import java.io.*;
import java.net.*;
public class ClienteTCP {
public static void main(String[] args) {
String lin, maylin, host;
int port;
try{
System.out.println("args 0: "+args[0]+"| args 1: "+args[1]);
port =Integer.parseInt(args[1]);
host = args[0];
}catch (Exception e){
System.out.println("Como hubo problemas en parámetros, usamos el localhost");
host="localhost";
port = 1234;
}
try{
BufferedReader consola = new BufferedReader(new InputStreamReader(System.in));
...