none
TCP Server into Unity C# RRS feed

  • Pergunta

  • how can i do TCP Server into Unity C#?

    //my code

    using UnityEngine;
    using UnityEngine.UI;
    using System;
    using System.Text;
    using System.Net;
    using System.Net.Sockets;
    using System.Collections;

    public class TalkBack_Script : MonoBehaviour {
        //atributos principais
        static TcpListener server;
        static TcpClient clientT;
        static NetworkStream conn;

        static string totalData = "";
        public static string hostName = "";
        public static int numberPort = 0;

        public static GameObject[] card = new GameObject[4];

        //parametros para o envio e recebimentos de dados


        // Use this for initialization
        void Start () {
        
        }
        
        // Update is called once per frame
        void Update () {
            
        }

        public void SendTcpData(){
            byte[] rec = Encoding.UTF8.GetBytes(SendData());

            conn.Write(rec, 0, rec.Lengh);

        }

        public void ReceiveData(){
            byte[] rec = new byte[1024];
            conn.Read(rec, 0, clientT.ReceiveBufferSize);
            totalData = Encoding.UTF8.GetString (rec);
            string[] piecesData = totalData.Split ('|');
            //a cada 9 peças uma nova carta
            //11 = uma carta
            //20 = duas cartas
            //29 = tres cartas
            //38 = quatro cartas
            int piece = 0;
            FillCard (Battle_Script.enemyField, piecesData, piece);
            //mana do inimigo
            Battle_Script.enemyMana = int.Parse(piecesData[piece]);
            Quick_Menu.myTurn = !bool.Parse (piecesData [piece]);
        }

        public static void ConnectOnTCP(bool isServer){
            if (isServer) {
                server = new TcpListener (IPAddress.Any, numberPort);
                server.Start ();
                clientT = server.AcceptTcpClient ();
            } else {
                clientT = new TcpClient (hostName, numberPort);
                server.AcceptTcpClient ();
            }
            conn = clientT.GetStream ();
        }

        //construindo os dados a serem enviados
        public string SendData(){
            string premature = "";
            foreach (GameObject card in Battle_Script.myField) {
                //atributos das cartas
                premature += card.GetComponent<Card_Script> ().id.ToString () + "|";
                premature += card.GetComponent<Card_Script> ().nameCard.ToString () + "|";
                premature += card.GetComponent<Card_Script> ().force.ToString () + "|";
                premature += card.GetComponent<Card_Script> ().health.ToString () + "|";
                premature += card.GetComponent<Card_Script> ().NumHab.ToString () + "|";
                premature += card.GetComponent<Card_Script> ().HabValue.ToString () + "|";
                premature += card.GetComponent<Card_Script> ().cost.ToString () + "|";
                premature += card.GetComponent<Card_Script> ().element.ToString () + "|";
                premature += card.GetComponent<Card_Script> ().actived.ToString () + "|";
            }
            //teste do turno do jogador
            premature += Battle_Script.myMana.ToString () + "|";
            premature += Quick_Menu.myTurn.ToString ();
            return premature;
        }
    }

    segunda-feira, 20 de junho de 2016 23:08

Respostas

  • Bom dia Saniston Rodrigues,

    Primeiramente obrigado por postar em nosso fórum. Lembrando que essa página é para dúvidas em Português, caso queira postar no fórum em Inglês, segue o link:

    https://social.msdn.microsoft.com/Forums/en-us/home

    Abraço.


    Thales F Quintas

    Esse conteúdo é fornecido sem garantias de qualquer tipo, seja expressa ou implícita

    TechNet Community Support

    Por favor, lembre-se de Marcar como Resposta as postagens que resolveram o seu problema. Essa é uma maneira comum de reconhecer aqueles que o ajudaram e fazer com que seja mais fácil para os outros visitantes encontrarem a resolução mais tarde.

    terça-feira, 21 de junho de 2016 13:30

Todas as Respostas

  • Bom dia Saniston Rodrigues,

    Primeiramente obrigado por postar em nosso fórum. Lembrando que essa página é para dúvidas em Português, caso queira postar no fórum em Inglês, segue o link:

    https://social.msdn.microsoft.com/Forums/en-us/home

    Abraço.


    Thales F Quintas

    Esse conteúdo é fornecido sem garantias de qualquer tipo, seja expressa ou implícita

    TechNet Community Support

    Por favor, lembre-se de Marcar como Resposta as postagens que resolveram o seu problema. Essa é uma maneira comum de reconhecer aqueles que o ajudaram e fazer com que seja mais fácil para os outros visitantes encontrarem a resolução mais tarde.

    terça-feira, 21 de junho de 2016 13:30
  • Bom dia,

    Por falta de retorno, esta thread será encerrada.

    Caso seja necessário, por gentileza, abra uma nova thread.

    Atenciosamente


    Thales F Quintas

    Esse conteúdo é fornecido sem garantias de qualquer tipo, seja expressa ou implícita

    TechNet Community Support

    Por favor, lembre-se de Marcar como Resposta as postagens que resolveram o seu problema. Essa é uma maneira comum de reconhecer aqueles que o ajudaram e fazer com que seja mais fácil para os outros visitantes encontrarem a resolução mais tarde.

    sexta-feira, 24 de junho de 2016 13:16