Sockets

/*********Servidor*********/

import java.net.*;
import java.io.*;
//Servidor
public class Servidor
{
        public static void main(String args[])
        {
                Socket client = null;
                ServerSocket server = null;                     //DataGramSocket   Para usar UDP
                String cadena = null;
                try {
                        server = new ServerSocket(2000);
                        client = server.accept();
                        BufferedReader in = new BufferedReader(new InputStreamReader(client.getInputStream()));
                        cadena = in.readLine();
                        while(cadena != null)
            {
                System.out.println("Cliente dice:" + cadena);
                cadena = in.readLine();
            }
                }catch(IOException exd){}
        }
}

/*********Cliente*********/

import java.net.*;
import java.io.*;
//Cliente
public class Cliente
{
        public static void main(String args[])
        {
                Socket server = null;
                PrintWriter out = null;
                String host = "127.0.0.1";
                String cadena = null;
                try {
                        BufferedReader stdin;
                        stdin = new BufferedReader(new InputStreamReader(System.in));
                        cadena = stdin.readLine();
                        while(cadena.equals("exit"))
            {
                                stdin = new BufferedReader(new InputStreamReader(System.in));
                                cadena = stdin.readLine();
                                server = new Socket(host,2000);
                                try {
                                        out = new PrintWriter(server.getOutputStream(), true); //<- true es para Autoflush   out.flush(); si no estuviera en true
                                }catch(IOException exd){}
                                out.println(cadena);
                        }
                }catch(IOException uke){}              
        }
}

COMO ENVIAR UN ARCHIVO( YA SEA FOTOS VIDEOS,ETC) A TRAVES DE UN CLIENTE/SERVIDOR EN JAVA

CLIENTE

import java.net.Socket;
import java.util.Scanner;
import java.io.*;
public class Cliente6 {
        public static void main(String[] args) {
                try {
                        Socket w=new Socket("localhost",4000);
                        PrintStream envio=new PrintStream(w.getOutputStream());
                        Scanner s=new Scanner(System.in);
                        System.out.println("Ingrese el path del archivo a enviar: " );
                        String path=s.nextLine();
                        FileInputStream origen=new FileInputStream(path);
                        byte[] buffer = new byte[1024];
                        int len;
                        while((len=origen.read(buffer))>0) {
                                envio.write(buffer,0,len);
                        }
                } catch(IOException e) {
                        e.printStackTrace();
                }
        }
}

SERVIDOR

import java.io.*;
import java.net.ServerSocket;
import java.net.Socket;
import java.util.Scanner;
public class Servidor6 {
        public static void main(String[] args) {
                try {
                        ServerSocket servidor=new ServerSocket(4000);
                        Scanner s=new Scanner(System.in);
                        System.out.println("Ingrese el path donde desea escribir el archivo: " );
                        String path=s.nextLine();
                        Socket w=servidor.accept();
                        InputStream llegada = w.getInputStream();
                        FileOutputStream destino=new FileOutputStream(path);
                        byte[] buffer = new byte[1024];
                        int len;
                        while((len=llegada.read(buffer))>0) {
                                destino.write(buffer,0,len);
                        }
                } catch(IOException e) {
                        e.printStackTrace();
                }
        }
}