Отправка сообщения в формате Json из приложения c # на сервер - PullRequest
0 голосов
/ 04 июля 2018

У меня есть .Net Framework Project (c #). У меня есть форма в проекте (показано на рисунке) enter image description here

. Следуя документации, которая была подготовлена ​​для меня, я должен использовать либо веб-сокет, либо сокет и написать сообщение в нижнем текстовом поле в формате Json (мне не нужно конвертировать с помощью newtonsoft), чтобы иметь возможность отправить сообщение на IP-адрес.

Однако я не совсем понимаю, сработает ли tcpclient / tcplistener (код, показанный ниже - тот, который я пытался реализовать)

     Public partial class Form1 : Form
    {
    TcpClient clientsocket=new tcpclient();
    public Form1()
    {
    InitializeComponent();
    }
private void button1_Click(object sender,EventArgs e)
{
NetworkStream serverStream=clientSocket.GetStream();
byte[] outStream=System.Text.Encoding.ASCII.GetBytes(textBox2.Text+"$");
serverStream.Write(outStream, 0, outStream.Length);
            serverStream.Flush();

            //byte[] inStream = new byte[4096];
            //int bytesread = serverStream.Read(inStream, 0, inStream.Length);
            //string returndata = System.Text.Encoding.ASCII.GetString(inStream, 0, bytesread);
            //msg(returndata);
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            msg("Client Started");
           // server.Connect(IPEP);
            clientSocket.Connect(IPAddress.Parse("000.0.0.1"), 8080);
            label1.Text = "Connected Value is {0} "+ clientSocket.Connected;
            Console.WriteLine("Connected Value is {0}", clientSocket.Connected);
        }
        public void msg(string mesg)
        {
            textBox1.Text = textBox1.Text + Environment.NewLine + " >> " + mesg;
        } 
    }

Я попытался запустить программу во время набора { "msg_id":"ROBOT_BODY_CTRL_CMD", "body_part":2, "action":3 } однако ничего не происходит. Поскольку я отправляю сообщение, я действую как клиент или сервер?

1 Ответ

0 голосов
/ 04 июля 2018

Когда вы отправляете сообщение на любой IP-адрес определенного сокета, вы являетесь клиентом, а когда вы получаете сообщение во время прослушивания любого порта, вы действуете как сервер

Вот официальные примеры Microsoft по синхронному асинхронному программированию сокетов

Примеры кодов сокетов

...