Как отправить данные с клиента на сервер и чем с сервера на клиент C#
Привет,
Я хотел бы спросить, как кодировать, когда я хочу отправить запрос на сервер от клиента, и чем сервер отправляет мне ответ. Я пытался отправить сообщение от клиента, например "Привет", и сервер получает его, а затем сервер отправляет то же самое сообщение клиенту. Вы знаете, как это сделать?
Что я уже пробовал:
Сервер
IPAddress ip = Dns.GetHostEntry("localhost").AddressList[0]; TcpListener server = new TcpListener(ip, 8080); TcpClient client = default(TcpClient); try { server.Start(); Console.WriteLine("Server started..."); //Console.Read(); } catch (Exception ex) { Console.WriteLine(ex.ToString()); //Console.Read(); } //while (true) //{ client = server.AcceptTcpClient(); byte[] buffer = new byte[100]; NetworkStream stream = client.GetStream(); stream.Read(buffer, 0, buffer.Length); string msg = Encoding.Default.GetString(buffer); msg += "Ano"; //StringBuilder msg = new StringBuilder(); //foreach (byte b in buffer) //{ // if (b.Equals(00)) // { // break; // } // else // msg.Append(Convert.ToChar(b).ToString()); //} IPEndPoint ipClient = new IPEndPoint(IPAddress.Any, 8080); Socket socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); socket.Bind(ipClient); socket.Listen(10); Console.WriteLine("Waiting for a client..."); Socket clientClient = socket.Accept(); IPEndPoint clientep = (IPEndPoint)clientClient.RemoteEndPoint; Console.WriteLine("Connected with {0} at port {1}", clientep.Address, clientep.Port); string welcome = "Welcome"; byte[] data = new byte[1024]; data = Encoding.ASCII.GetBytes(welcome); clientClient.Send(data, data.Length, SocketFlags.None); Console.WriteLine("Disconnected from {0}", clientep.Address); client.Close(); socket.Close();
Клиент
TcpClient client = new TcpClient(serverIP, port); int byteCount = Encoding.ASCII.GetByteCount(textBoxMessage.Text); byte[] sendData = new byte[byteCount]; sendData = Encoding.ASCII.GetBytes(textBoxMessage.Text); NetworkStream stream = client.GetStream(); stream.Write(sendData, 0, sendData.Length); IPEndPoint ip = new IPEndPoint(IPAddress.Parse("127.0.0.1"), 9999); Socket server = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); try { server.Connect(ip); } catch (SocketException ex) { return; } byte[] data = new byte[1024]; int receivedDataLength = server.Receive(data); string stringData = Encoding.ASCII.GetString(data, 0, receivedDataLength); label1.Text = stringData; stream.Close(); client.Close();