Find Jobs
Hire Freelancers

Multi-client Chat with File Transfer in Java

€8-30 EUR

Concluído
Publicado há quase 2 anos

€8-30 EUR

Pago na entrega
I need someone to develop a simple multi-client chat room using Java (require socket programming and threads). There must be at least two classes: [login to view URL] and [login to view URL], possibly a third class to manage which messages should be forwarded to which users ([login to view URL]). Other classes that the developer find necessary could be implemented but those three should be enough. The multiclient chat must have the following functionalities: - When connecting, the cllient chooses a nickname. If the nickname is already being used, the server should send a message to the client: "ERROR, CHOOSE ANOTHER NICKNAME:" and then the user can keep trying until finding an appropriate nickname. If the nickname is valid, the server answers to this specific client "OK" and also sends a message to all other clients "<NICKNAME> connected to the chat.". - There are three kinds of messages that can be sent: 1) Text messages. 2) File transfer. 3) Posts. Text messages can be either public or private. Transferring files is always done from one client to another (privately). Posts are always public and can be either text messages or posts with files (so if you want to share a file with everyone in the chat, you do it as a post). The identification of each kind of message is done through a prefix: --> To send a public message (all clients should receive it), you type: 'MSG GLOBAL <MESSAGE>'. The first three letters identify that this is a text message. the tag "GLOBAL']' specifies that everyone should receive it and after that comes the text. --> To send a private text message, you type: 'MSG NICKNAME <MESSAGE>'. MSG specifies that this is a text message, NICKNAME is the nickname of the recipient and after that comes the text message... --> To send a post, you should type 'POST TOPIC <MESSAGE>''. This will be sent to everyone. The tag TOPIC is used because there is a command through which every client can read all posts concerning a specific TOPIC. --> To read all posts concerning a specific TOPIC, type 'READ TOPIC'. --> To send a file, the command is:' FILE NICKNAME <filename> <bytes>\n'. FILE specifies that a file will be sent, NICKNAME refers to the recipient of the file transferring, <filename> is the name of the file, which should be in the same folder as the [login to view URL] class, and bytes is an integer with the number of the bytes of the file. The maximum size of the file is 256 bytes. --> Posting files: to share a file with everyone in the chat you should do it through a post. The command is: 'POST-FILE TOPIC <filename> <bytes>'. Everyone will receive the post immediately but the file could also be retrieved by the same 'READ TOPIC' command explained before. Server responses: 'OK MSG' - notifies the client that the message was accepted and will be sent. 'ERR MSG' - the message couldn't be sent (recipient doesn't exist, wrong prefix format, etc) ''OK POST' - the server accepted the post 'ERR POST' - the server rejected the post 'OK ALLPOSTS TOPIC <count>\n POST 1 <message>\n . . .' - this is the server answer when you use the READ TOPIC command 'ERR ALLPOSTS TOPIC' - when the READ TOPIC command fails for some reason (topic doesn't exist, for instance) 'OK FILE' - the file was accepted and was sent to the recipient 'ERR FILE' - the file was rejected and was not sent 'TEXT SENDER RECIPIENT(or GLOBAL) <message>' - The user SENDER sent a message to RECIPIENT (or to everyone, which should be specified by the word 'GLOBAL', and then the message is described. 'FILEFROM SENDER RECIPIENT <filename> <bytes>' - The server notifies about the transferring of a file from SENDER to RECIPIENT. This should be all.
ID do Projeto: 33789124

Sobre o projeto

5 propostas
Projeto remoto
Ativo há 2 anos

Quer ganhar algum dinheiro?

Benefícios de ofertar no Freelancer

Defina seu orçamento e seu prazo
Seja pago pelo seu trabalho
Descreva sua proposta
É grátis para se inscrever e fazer ofertas em trabalhos
Concedido a:
Avatar do Usuário
Hi Sir, I can solve Multi-client Chat with File Transfer in Java in 2 hours. I can do this right now I have seen your job requirements and I am sure that I can do your task efficiently in less timeline as I am an expert Java developer. Thanks
€15 EUR em 1 dia
0,0 (0 avaliações)
0,0
0,0
5 freelancers estão ofertando em média €26 EUR for esse trabalho
Avatar do Usuário
Hello sir, I am a Java developer and a network engineer and I am very familiar with sockets programming as well as multi-threading. I can create this application using Java. Please contact me for further details. Best regards!
€30 EUR em 3 dias
5,0 (7 avaliações)
3,5
3,5
Avatar do Usuário
MASTERS IN SOFTWARE DEVELOPMENT AND ARCHITECTURE. EXPERT IN JAVASCRIPT, HTML5, CSS C, C++, PYTHON, JAVA AND PHP, BOT MAKING AND SCRIPTING, AUTOMATION. Hi there! Thank you for sharing your project requirement, I have carefully read the project description and I would like to take part in this project. I will work according to your requirement to provide the best quality and customer satisfaction. I hope you will benefit from my services I can assurance that I will live up to your expectations
€30 EUR em 1 dia
0,0 (0 avaliações)
0,0
0,0
Avatar do Usuário
Working in MNCs with java and having 8+ yrs experience. Have good knowledge on the java. We catch on sms if more details required.
€28 EUR em 15 dias
0,0 (0 avaliações)
0,0
0,0
Avatar do Usuário
Hello sir, I am a Java developer and a network engineer and I am very familiar with sockets programming as well as multi-threading. I can create this application using Java. Please contact me for further details. Best regards!
€25 EUR em 10 dias
0,0 (0 avaliações)
0,0
0,0

Sobre o cliente

Bandeira do(a) PORTUGAL
Covilhã, Portugal
0,0
0
Método de pagamento verificado
Membro desde mai. 27, 2022

Verificação do Cliente

Obrigado! Te enviamos um link por e-mail para que você possa reivindicar seu crédito gratuito.
Algo deu errado ao enviar seu e-mail. Por favor, tente novamente.
Usuários Registrados Total de Trabalhos Publicados
Freelancer ® is a registered Trademark of Freelancer Technology Pty Limited (ACN 142 189 759)
Copyright © 2024 Freelancer Technology Pty Limited (ACN 142 189 759)
Carregando pré-visualização
Permissão concedida para Geolocalização.
Sua sessão expirou e você foi desconectado. Por favor, faça login novamente.