postea el código para tener una idea más clara, pero si lo que quieres hacer es mandar un archivo y realizar un chat por el mismo puerto, es medio complicado, lo que podrías hacer es abrir un nuevo puerto para el envio del archivo, asi no te complicas intentando recibir dos tipos de mensaje distintos por el mismo puerto. o tambien podrías usar un arreglo de sockets, y verificar el mensaje según el index. saludos!