1. Este site usa cookies. Ao continuar a usar este site está a concordar com o nosso uso de cookies. Saber Mais.

Programar uma versão de MSN

Discussão em 'Programação' iniciada por dragon-moon, 11 de Dezembro de 2008. (Respostas: 34; Visualizações: 4303)

  1. dragon-moon

    dragon-moon Power Member

    Caros amigos,

    Eu gostaria de saber a seguinte informação, alguém me sabe dizer como se programa um MSN Messenger? Em que línguagem é adoptada?
    Eu estou a perguntar isto porque queria fazer uma nova versão de MSN Messenger (não da Microsoft) em que colocava uma base de dados local que tivesse uma lista de contactos «colonada» da lista no servidor do IM (é o que parece que ele faz). Preciso de saber as ferramentas para começar a trabalhar e se existe algum tutorial que explica alguns dos itens que funciona as diversas funções.

    Agradeço as vossas respostas...
     
  2. ribeiro55

    ribeiro55 Power Member

    Programas isso na linguagem que dominares. Fazes tudo em tudo. Basta imaginação.
    Há é linguagens mais acessíveis e menos acessíveis.
    Se não souberes nenhuma, VB2008 é a mais "terra-a-terra".

    Mas... para quê reinventar a roda? Ninguém vai usar isso mesmo.
    Não quando existem aplicações de elevado grau de adesão mundial como o MSN Messenger.

    E já agora, garanto-te que a lista de contactos não é, de longe, o que te vai dar mais água por a barba.
     
  3. solidforms

    solidforms Power Member

    Subscrevo o que foi dito. Para alem de teres que te preocupar com a linguagem de programação e os contactos, que sim são guardados num servidor como base de dados, terás que dar uma vista de olhos nos conceitos de redes de computadores e sistemas distribuídos. Terás que lidar com conexões, que tipo de estrutura irás usar (um servidor centralizado, peer-2-peer, etc), que tipo de inundação irás usar (algoritmos de inundação) para por exemplo anunciares o teu login. Eu fiz um mini prototipo à uns tempos para a cadeira de Redes de Computadores e aquilo era basico mas ficou grande. Fiz em Java. Tens que ver como transferes os dados, alias os pacotes de dados.

    Existem muitos factores que terias que aprofundar sem ser a linguagem a usar.
    Mas tudo é possivel, nao te retraias :007:.

    Cumps ;).
     
  4. pascasso

    pascasso Power Member

    Boas,

    sei que não é uma linguagem muito adorada por estas bandas mas aqui vai o meu contributo. Eu programo imenso em Delphi (baseado em Pascal) e um amigo meu um dia encontrou uma aplicação feita em Delphi open-source que acede à base de dados do MSN (agora dito muito superficialmente). Aprendi imenso com aquilo e como realmente tudo funcionava.
    Tirei lá várias coisas úteis, incluindo algoritmos de encriptação e percebi como todo o sistema de login funcionava. A lingugem Delphi é uma linguagem relativamente simples e se nunca viste Pascal na vida também não vai ser um problema pois eu também nunca programei em C e quando vejo um código-fonte (na maior parte das vezes) consigo perceber o que é que faz (nem me vou por a fazer mais comparações destas...). O nome do projecto chama-se PixaMSN, é questão de googlares.

    Have faith ;)
    Cumps.
     
  5. Homem do Saco

    Homem do Saco Power Member

    Porque raio é que uma linguagem que implica usar um ambiente de desenvolvimento caro é a mais "terra-a-terra"? Pelo menos para um projecto caseiro como este, é completamente desajustada.


    @dragon-moon , essa versão implicaria criares também a tua própria rede de msn, não usando a microsoft? Para isso, porque não usar o protocolo jabber? Tens diversos servidores e clientes de jabber open source que podes usar como base.

    Ou vais fazer isto para um trabalho de faculdade? Aí sim, o melhor é começar tudo do zero.
     
    Última edição: 12 de Dezembro de 2008
  6. Armadillo

    Armadillo Folding Member

    VB2008 Express = 0€ :rolleyes:
     
  7. spastikman

    spastikman Banido


    Só por curiosidade, o que é que consideras uma linguagem terra-a-terra ?
     
  8. ribeiro55

    ribeiro55 Power Member

    Boas,

    Quando escrevo que é uma linguagem terra-a-terra, quero dizer que a síntaxe é quase como falar inglês.
    É das de lógica com mais fácil dedução.

    Quanto ao custo da IDE... Quando disse VB2008 não me referia a nenhuma versão paga. A framework e os compiladores vêm com sistema operativo, que espero que tenhas comprado, e como IDE podes perfeitamente usar o VB2k8 Express, tal como o Armadillo disse, que te fica a custo de um download.
     
  9. spastikman

    spastikman Banido


    Sim, eu sei, e para mim o VB é uma linguagem bastante "terra-a-terra". Mas já que para ele é tão absurdo falar em VB gostava de saber o que é que ele achava melhor.
     
  10. dragon-moon

    dragon-moon Power Member

    Resposta a todos que comentaram.

    Meus amigos,

    Antes de mais agradeço pelos vossos contributos que têm sido bastante preciosos e de louvar! :001:
    Quanto às razões de estar a fazer, é porque tenho 1.015 contactos e tenho que gerir bem estes mesmos contactos... Alguns vou ter que eliminar da base de dados remota da Microsoft para já, e poder aceder do meu MSN sem estes contactos em excesso. Ao mesmo tempo evito de estar a escrever novamente os endereços e se receber novo convite das pessoas já registadas anteriormente a base de dados adiciona automáticamente sem problemas e «refresca» os dados entre as duas bases de dados, a local e a remota. Agora fica a dúvida... o VB2008 n é líiguagem Basic? Eu já trabalho com o VB até ao 6.0 mas as posteriores eu fiquei um pouco desenquadrado, será que existem tutoriais que explicam as principais alterações no código?
    Quanto ao código para programar um MSN, ele está acessível e com algumas noções de algumas strings?...
     
  11. Tomb4000

    Tomb4000 Power Member

    Não quero ser mauzinho. Mas para quem quer programar um "MSN MESSENGER", tens já duvidas a mais, ou não? Tens transparecido algumas duvidas que fazem duvidar da capacidade de pegar numa coisa bastante complexa. De qualquer forma espero estar enganado, e ver resultados para me poder vir aqui desculpar.

    Sei que em Delphi como foi já aqui falado, poderias trabalhar com diversos componentes já existentes que tinham já a papinha toda feita para fazer as conexões, ler os contactos e tudo o mais.

    Um abraço.
     
  12. spastikman

    spastikman Banido

    Tens apis com a papinha toda feita, mas sem querer desmoralizar, acho que não tens os conhecimentos suficientes para o fazer ;)
     
  13. solidforms

    solidforms Power Member

    Convem saberes bem as APIs sobre transferencia de pacotes em computadores. Uma noçãozinha de redes de computadores e sistemas distribuidos seria bom tambem :P.
    Eu penso que Java tem APIs bastante uteis e usam-se "muito facilmente" :O.

    Cumps ;)
     
  14. dragon-moon

    dragon-moon Power Member

    Queira desculpar, «mas o saber não ocupa o lugar», quem lhe disse a si que não tenho conhecimentos suficientes para fazer seja o que for? Acho que não vim fazer juizos de valor seja a quem for, eu perguntei uma coisa simples não precisava de respostas na qual menorizam os outros, será possivel isso?
    Alguma vez respondi-lhe se por caso qual é as suas qualificações escolares ou até mesmo a sua formação curricular? Não foi isso que preguntei mas parece que qualquer tipo que «poste» aqui tem o direito de insultar ou até mesmo acusar de coisas que nem as pessoas o sabem. Sabe o que é a vida? Se a sabe, desculpe mas está enganado sobre o conceito que foi transmitido, porque a vida só se sabe depois de a viver na totalidade e não quando vai a meio nem quanto mais quando se têm 26 anos. Deixemos de picardias estupidas e de comentários pouco pedagógicos.
     
    Última edição: 12 de Dezembro de 2008
  15. dragon-moon

    dragon-moon Power Member

    A base da comunicação é esta, quando se surge uma dúvida, podem surgir muitas mais até que fique claro as coisas. Mas como foi recomendado, vou pesquisar mais sobre a programação Delphi. A aplicação é o Notepad? Ou existe uma aplicação que me permite a linguagem Delphi?
     
  16. alfinete

    alfinete Power Member

    eu por acaso ja fiz uma versão do msn em vb6, com o winsock que so dava para conversas com apanenas duas pessoas, tinha 3 a 4 estados e guardava as mensagens das conversas

    .....
     
  17. Tomb4000

    Tomb4000 Power Member

    Para programar com object pascal, de melhor é o IDE delphi claro, daqui chamar-mos ao object pascal quase sempre de delphi. parece que ha o Dev-pascal, e tambem para linux o kylix entre outros, nunca experimentei tal coisa. (so o ide delphi7)

    Tens por exemplos aqui alguns VCL's para começares a montar o teu msn no delphi com object pascal:
    http://www.torry.net/pages.php?id=222

    Se realmente não tens conhecimentos suficientes para entrar num projecto que se pode tornar bastante complexo não tem mal em dizer ou admitir. eu pelo menos acho que não tenho conhecimentos suficientes para começar a programar assim algo deste genero derrepente assim. Concerteza que necessitava de um bom estudo ou bom parceiro para o fazer.

    Agora o que posso dizer abertamente, é que até ao momento não demonstrou capacidades para meter as mãos no trabalho, e queira-me desculpar mas chegar aqui e dizer:

    no meu entender não é a melhor maneira de começar qualquer projecto.
    Faço-me perceber?

    Muitas felicidades para o projecto, e vá mostrando resultados, ou mesmo tirando duvidas que vão aparecendo.

    Concelhos para começar rapidamente: (Espero que os programadores de c/c++, .net's e afins não me batam).

    1- Instale Delphi 7
    2- Veja exemplos de aplicações de alguns componentes delphi que circulam pela internet. Principalmente sites brasileiros.
    3- Tente construir a sua versão com base nos exemplos.
    4- Melhore a versão à sua vontade.
    5- Sonho concretizado e mostre aqui ao pessoal.

    Abraço.
     
  18. Tomb4000

    Tomb4000 Power Member

  19. dragon-moon

    dragon-moon Power Member

    Icones

    Agora eu pergunto... onde estão os ficheiros dos icones do MSN? E dos outros IM's?
     
  20. ribeiro55

    ribeiro55 Power Member

    Quando dizes ícones, estas te a referir aos smileys e afins ?

    Vou passar de raspão:

    Os smileys não passam de texto. Por exemplo, se eu no msn enviar ; ) (sem espaço) aparece uma carinha a piscar o olho. Não é que esse emoticon esteja num servidor ou isso, como julgas, mas encontra-se localmente nos dois clientes. O parser ao encontrar o pedaço na string que contenha ;) substituí por o emoticon do gajo amarelo a rir.

    Os emoticons não Microsoft, são tratados como emoticons não padrão, portanto com possibilidade de não existirem em todos os clientes alvo, e PENSO que sejam transferidos apenas para os clientes que estão a ser afectados. Eu não uso emoticons não Microsoft, mas é uma questão de adicionar um e fazer login noutro computador para verificar se o emoticon aparece.

    Mesmo os não Microsoft são texto. Ao adicionares um emoticon, pede-te de certeza uma sequência de caracteres para equivaler àquele emoticon (juro que nunca exprimentei), e quando escreves essa sequência, o parser substituí-te esses caracteres por o boneco, e envia-o para todos os clientes.

    Isto não significa que os clientes que não o tenham, o possam usar se descobrirem a sequência de caracteres. O cliente deles vai tratar a sequência como uma mensagem normal já que não existe atribuíção dessa sequência a um emoticon local, e a mensagem quando chega ao outro cliente também não é parsed por emoticons locais.

    Confuso? É natural. Explicar a escrever é complicado.

    Toma o Zwame como exemplo. Todos usamos o mesmo "cliente" por assim dizer. E nele temos disponíveis os emoticons padrão. Cada vez que no texto eu incluír : 0 0 3 : (sem espaços), por exemplo, vai me aparecer :003: a mim e a todos os que estiverem a ler a mensagem através deste forum. Se estivermos a ler isto de um feed qualquer que não faça parse por bonecos, vamos simplesmente ver o : 0003 : (sem espaços), mas nenhum boneco.

    Melhor ainda... usas Messenger Plus! ?
    Se usas, exprimenta desinstalá-lo, e dá uma olhadela por os teus contactos.
    Começas a ver malta com caracteres muito estranhos, coisas imperceptíveis. Ao reinstalares o Plus!, vais notar que esses caracteres desapareceram, e agora o texto tem corzinhas e gradientes e coisas do género. Não existe um ponto central com essa informação. Cada cliente interpreta o texto que vem.
     
    Última edição: 17 de Dezembro de 2008

Partilhar esta Página