Aldeia RPG

Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

Suporte ao desenvolvimento de jogos


4 participantes

    [C#] Criando um servidor #1

    Paulo Soreto
    Paulo Soreto
    Lenda
    Lenda


    Mensagens : 1980
    Créditos : 367

    Ficha do personagem
    Nível: 1
    Experiência:
    [C#] Criando um servidor #1 Left_bar_bleue0/0[C#] Criando um servidor #1 Empty_bar_bleue  (0/0)
    Vida:
    [C#] Criando um servidor #1 Left_bar_bleue30/30[C#] Criando um servidor #1 Empty_bar_bleue  (30/30)

    [C#] Criando um servidor #1 Empty [C#] Criando um servidor #1

    Mensagem por Paulo Soreto Sex Abr 04, 2014 11:19 am

    Vi que muitos se interessam em trabalhar com sockets, por isso estarei criando alguns tutoriais de como trabalhar com aplicações Client/Server.
    Não pretendo focar muito nos conceitos mas explicarei o máximo possível, afinal já existem muitos tutoriais focados nos conceitos e lógica.
    Estarei utilizando Visual Studio 2013 Professional, ele é pago, porém para quem precisa de um mais simples pode baixar o Visual Studio 2013 for Desktop, tem suporte a VB, C# e C++.

    Vamos criar um novo projeto chamado ServidorAula. Ao iniciar você deverá adicionar os seguintes componentes (as propriedades podem se alteradas da aba Properties):

    • Label: [Text: Nome; Name: lblName]
    • Label: [Text: Porta; Name: lblPort]
    • TextBox: [Name: txtName]
    • TextBox: [Name: txtPort]
    • Button: [Text: Iniciar; Name: btnStart]
    • Button: [Text: Parar; Name: btnStop]

    Pronto, no final teremos algo próximo a isso:

    [C#] Criando um servidor #1 DOeklfX
    Pressione Ctrl + Alt + 0 para abrir o arquivo de código do Form.
    Na parte onde se importa as classes (using...), troque as que estão la por essas:
    [C#] Criando um servidor #1 U7R0BnX
    Por enquanto serão as únicas que usaremos.
    Crie as seguintes variáveis:
    [C#] Criando um servidor #1 NG3YEtc
    Agora crie um método para iniciar o servidor, com nome de Start, não receberá nenhum argumento inicial:
    [C#] Criando um servidor #1 3xqlOpf
    Nele armazenamos o nome do servidor e a porta correspondente dentro das variáveis criadas anteriormente. Agora temos que iniciar de fato o servidor:
    [C#] Criando um servidor #1 LH164EI
    O método Start da classe TcpListener pode receber o argumento backlog que seria o limite de conexões, não costumo usar mas que se interessar fique a vontade.
    Agora que já temos um "servidor" por assim dizer, precisamos de um loop para atualizar o mesmo e verificar se há conexões pendentes, aceitar conexões de clients, receber e enviar as packets.
    Para isso tem vários meios mas o que achei melhor é implementar esse loop dentro do método Idle, que é quando o programa encerra o processamento e entra em modo ocioso.
    Vamos abrir o arquivo Program.cs (pode ser visto no Solution Explorer).
    [C#] Criando um servidor #1 KRPm0LG
    Troque o código pelo seguinte:
    [C#] Criando um servidor #1 VjWMRHh
    Pode-se notar que o MainLoop está vermelho pois o método ainda não foi criado, então volte ao código do form e crie o seguinte método:
    [C#] Criando um servidor #1 QTyALNz
    Iremos criar uma variável para ativar/desativar o loop do server e um método para Parar o servidor:
    [C#] Criando um servidor #1 04DLU3F
    Nos próximos tutoriais irei tentar explicar melhor cada função, esse é meu primeiro tutorial sobre assunto e creio que não deixei as coisas mutio claras, qualquer dúvida comentem no tópico que estarei esclarecendo.


    Última edição por Paulo Soreto em Sex Abr 04, 2014 1:36 pm, editado 1 vez(es)


    _________________
    [C#] Criando um servidor #1 FwYnoXI
    Ian
    Ian
    Ocasional
    Ocasional


    Mensagens : 216
    Créditos : 27

    [C#] Criando um servidor #1 Empty Re: [C#] Criando um servidor #1

    Mensagem por Ian Sex Abr 04, 2014 11:35 am

    Gostei da sua aula socreto ta tudo bem explicativo e bem detalhado melhor parte que gostei foi não colocar códigos para copiarem e colar e bom pelo menos a galera já começa escrevendo algo continue =p
    Valentine
    Valentine
    Administrador
    Administrador


    Medalhas : [C#] Criando um servidor #1 ZgLkiRU
    Mensagens : 5336
    Créditos : 1163

    [C#] Criando um servidor #1 Empty Re: [C#] Criando um servidor #1

    Mensagem por Valentine Sex Abr 04, 2014 11:36 am

    Poxa cara, isso sim é realmente muito bom, você poderia disponibilizar o resultado da aula para download também.

    + 10 créditos
    Paulo Soreto
    Paulo Soreto
    Lenda
    Lenda


    Mensagens : 1980
    Créditos : 367

    Ficha do personagem
    Nível: 1
    Experiência:
    [C#] Criando um servidor #1 Left_bar_bleue0/0[C#] Criando um servidor #1 Empty_bar_bleue  (0/0)
    Vida:
    [C#] Criando um servidor #1 Left_bar_bleue30/30[C#] Criando um servidor #1 Empty_bar_bleue  (30/30)

    [C#] Criando um servidor #1 Empty Re: [C#] Criando um servidor #1

    Mensagem por Paulo Soreto Sex Abr 04, 2014 12:05 pm

    Obrigado, não coloquei os código pra fazer com que as pessoas que acompanharem a série realmente digitem o código para fixar e acabar aprendendo.
    Boa idéia Marlos, nos próximos irei por.


    _________________
    [C#] Criando um servidor #1 FwYnoXI
    Singelinho
    Singelinho
    Ocasional
    Ocasional


    Medalhas : [C#] Criando um servidor #1 ImDuCdXyFXERC
    Mensagens : 228
    Créditos : 93

    [C#] Criando um servidor #1 Empty Re: [C#] Criando um servidor #1

    Mensagem por Singelinho Ter Abr 08, 2014 6:10 pm

    Cara gostei pra caramba, vou criar meu servidor por C#(entre outras coisas para complementar meu server). Belo tutorial...


    _________________
    [C#] Criando um servidor #1 VMscx1Q

    Conteúdo patrocinado


    [C#] Criando um servidor #1 Empty Re: [C#] Criando um servidor #1

    Mensagem por Conteúdo patrocinado


      Data/hora atual: Sex Abr 19, 2024 8:03 am