Salve ragazzi ho un problema. Ho due classi: server e client

il server:
codice:
package it.pc_trasmissione_byte;
import java.io.IOException;
import java.net.*;
import java.io.*;


public class Server {


    public static void main(String arg[]){
        
        try {
            ServerSocket ss= new ServerSocket(55555); 
            while(true){
                Socket s= ss.accept(); 
//codice dell'elaborazione del server
                InputStream in=s.getInputStream();
                OutputStream out= s.getOutputStream();                            
                int n=in.read();
                int i=0;
                int mol=n;
                while((mol+n)<=255){
                    mol=n*i;
                    out.write(mol);
                    i++;
                }
                                                         
                }                
                        
        } catch (IOException e) {
            
            e.printStackTrace();
        } 
                }
}
client

codice:
package pc_trasmissione_multipli;


import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.Socket;


public class Client {


    public static void main(String arg[]){
        
        Socket s;
    try {
            s = new Socket("localhost",55555);
            //codice client
            InputStream in= s.getInputStream();
            OutputStream out= s.getOutputStream();            
            int n=3;
            out.write(n);            
            for (int i=0;i<86;i++){                
                int len=in.read();
            System.out.println(len);    
            }
            
    } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }                
    }        
    }

Dopo aver letto molte slide e guide ho provato a fare cosi (ovviamente è sbagliato come ho fatto):

server:

codice:
package pc_trasmissione_multipli;


import java.io.IOException;
import java.net.*;
import java.io.*;




public class Server {




    public static void main(String arg[]){
        
        try {
            ServerSocket ss= new ServerSocket(55555); 
            while(true){
                Socket s= ss.accept(); 
MyThread m=new MyThread();
m.start()
//codice dell'elaborazione del server
                InputStream in=s.getInputStream();
                OutputStream out= s.getOutputStream();                            
                int n=in.read();
                int i=0;
                int mol=n;
                while((mol+n)<=255){
                    mol=n*i;
                    out.write(mol);
                    i++;
                }
                                                         
                }                
                        
        } catch (IOException e) {
            
            e.printStackTrace();
        } 
                }
}
e il MyThread

codice:
package pc_trasmissione_multipli;


import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.Socket;


public class MyThread extends Thread {


    public static void main(String arg[]){
        
        Socket s;
    try {


public void run(){


            s = new Socket("localhost",55555);
            
            InputStream in= s.getInputStream();
            OutputStream out= s.getOutputStream();            
            int n=3;
            out.write(n);            
            for (int i=0;i<86;i++){                
                int len=in.read();
            System.out.println(len);    
            }
            
    
}
} catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }                
    }        
    }
Questo è il punto, non ho capito bene dove devo inserire il codice del server e del client