Boas a todos,
Hà uns tempos eu fiz um chat em vb 6.0 com um servidor e um cliente e funciona muito bem(ate da para alterar a alcunha! iupi ^.^ lol).
Devido à lentidão do msn para enviar ficheiros gostaria de saber quais os passos para fazer um programa semelhante ao chat mas em vez de enviar texto, envia ficheiros..Não sei se é possivel ou se é até mais rapido que o msn mas o que interessa é saber como fazer este programa por isso qualquer dica é bem-vinda xD.
Abraços e obrigado pela atenção
O quê? Mas agora eu tenho competição, é?
Eu estou a fazer precisamente a mesma coisa, precisamente pelo mesmo motivo que tu
o problema é que ainda não sei qual será a forma certa de abordar isto.
Pensei em duas formas:
1) Um único socket. Pensas já no protocolo (algo tipo "conectado", "vou enviar-te um ficheiro", "ele chama-se BLABLABLA.txt") e logo a seguir lanças um comando "COMECEI!" e a partir é enviado o ficheiro (sabes usar o Open ... For Binary, não sabes?); depois, não sei se posso mandar comandos de "PAUSE" ou "TERMINEI".
2) Dois sockets. Um protocolo análogo ao FTP, onde um socket é usado para comunicação e o segundo socket só é aberto quando é necessário; e quando o for, o único tráfego que passa por ele é o ficheiro.
Raw data.
O meu problema é que cada alternativa tem as suas vantagens e desvantagens, e não sei quais são as probabilidades de por acaso o ficheiro a enviar ter exactamente o comando do PAUSE ou do TERMINAR. Também pensei em deixar os programas, pelo protocolo, "decidirem" quais serão os comandos. Ou seja, algo como "Para pausar a transferência, o comando é o JKDSBKSDGKSDH=&)5784BKDSB; para parar, é o KJGKJTR675/%346$/4363(46%43(", de forma a que dificilmente essa
string se encontre no interior do ficheiro.
Ainda preciso de pensar bem nisto. No entanto, a forma que me parece mais aceitável é um socket, que a partir do momento em que começa a enviar o ficheiro, não pára (a menos que o mandes abaixo). Ah! E, consequentemente, não te esqueças duma coisa: se vais fazer isso, faz outra coisa útil: a possibilidade de interromper a transferência para mais tarde a poderes restabelecer
no MSN, quando uma transferência falha, tens de a recomeçar, e isso foi algo que sempre me chateou muito. Aproveita, e junta ao útil, algo ainda mais útil
Isto foi mais uma divagação do que uma ajuda, mas espero ter-te deixado a pensar
Boa sorte com isso