Здравствуйте! Вот делаю прогу клиент-сервер.
Код | using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using System.Net.Sockets; using System.Net;
namespace WindowsFormsApplication1 { public partial class Form1 : Form { public Form1() { InitializeComponent(); }
private void button1_Click(object sender, EventArgs e2) { byte[] bytes = new byte[1024]; //Устанавливаем для сокета локальную конечную точку IPHostEntry ipHost = Dns.Resolve("localhost"); IPAddress ipAddr = ipHost.AddressList[0]; IPEndPoint ipEndPoint = new IPEndPoint(ipAddr, 11000); //Создаем сокет TCP\IP Socket sListener = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); //Назначаем сокет локальной конечной точку // и слушаем входящие сокеты try { sListener.Bind(ipEndPoint); sListener.Listen(10); //Начинаем слущать соединения while (true) { Console.WriteLine("Waiting for connections... ", ipEndPoint); //программа приостанавливается,ожидая входящее соединение Socket handler = sListener.Accept(); string data = null; //дождались клиента,пытающегося с нами соединиться int bytesRec = handler.Receive(bytes); data += Encoding.ASCII.GetString(bytes, 0, bytesRec); //выводим данные на консоль Console.WriteLine("Сlient Message : {0}", data); richTextBox1.Text += data.ToString(); MessageBox.Show(data); string theReply = "Thank You for your message " + data.Length.ToString() + " characters...I'm the Body!!!"; byte[] msg = Encoding.ASCII.GetBytes(theReply); handler.Send(msg); handler.Shutdown(SocketShutdown.Both); handler.Close(); }
} catch (Exception e) { Console.WriteLine(e.ToString()); richTextBox1.Text += "Clients are not connected!"; } }
} }
|
Почему, когда в коде срабатывает одна строчка а другая (рядом) уже не срабатывает? Эта срочка работает:
Код | MessageBox.Show(data);
|
А эта (над ней (посмотрите в коде)) - нет
Код | richTextBox1.Text += data.ToString();
|
Спасибо |