1. Набираем команду codeby webinar. Набираем команду для организации и проведения вебинаров. Подробнее ...

    Скрыть объявление
  2. Требуются разработчики и тестеры для проекта codebyOS. Требования для участия в проекте: Знание принципов работы ОС на базе Linux; Знание Bash; Крайне желательное знание CPP, Python, Lua; Навыки системного администрирования. Подробнее ...

    Скрыть объявление
  3. Получи 30.000 рублей. Для получения денег необходимо принять участие в конкурсе авторов codeby. С условиями и призами можно ознакомиться на этой странице ...

    Внимание! Регистрация авторов на конкурс закрыта.

    Скрыть объявление

Клиент + Сервер

Тема в разделе ".NET - программирование", создана пользователем 123456789igor, 7 ноя 2013.

  1. 123456789igor

    123456789igor Active Member

    Репутация:
    0
    Регистрация:
    12 янв 2011
    Сообщения:
    29
    Симпатии:
    0
    Привет всем!
    Пишу простой клиент+сервер.
    Сервер генерит рандомное число каждую секунду и отправляет это число клиенту, клиент просто выводит числа на экран(в реальном времени)
    Столкнулся с таким:
    Невозможно вычислить выражение, поскольку фрейм машинного кода находится на вершине стека вызовов.
    И это пишется везде, в смысле приложение вроде бы как работает, но на самом деле висит. А вот ошибка эта в отладчике, на пример в переменной sListener типа Socket
    Сервер:

    Код:
    namespace WindowsFormsApplication1
    {
    public partial class Form1 : Form
    {
    Random rnd = new Random();
    public Form1()
    {
    Server();
    InitializeComponent();
    }
    public void Server()
    {
    IPHostEntry ipHost = Dns.GetHostEntry("localhost");
    IPAddress ipAddr = ipHost.AddressList[1];
    IPEndPoint ipEndPoint = new IPEndPoint(ipAddr, 11000);
    
    Socket sListener = new Socket(ipAddr.AddressFamily, SocketType.Stream, ProtocolType.Tcp);
    
    try
    {
    sListener.Bind(ipEndPoint);
    sListener.Listen(10);
    
    while (true)
    {
    //label4.Text = "Ожидаем соединение через порт: " + ipEndPoint;
    
    Socket handler = sListener.Accept();
    string data = null;
    
    string reply = label3.Text;
    
    byte[] msg = Encoding.UTF8.GetBytes(reply);
    handler.Send(msg);
    
    if (data.IndexOf("<TheEnd>") > -1)
    {
    label4.Text = "Сервер завершил соединение с клиентом.";
    break;
    }
    
    handler.Shutdown(SocketShutdown.Both);
    handler.Close();
    }
    }
    catch (Exception ex)
    {
    Console.WriteLine(ex.ToString());
    }
    finally
    {
    Console.ReadLine();
    }
    }
    private void timer1_Tick(object sender, EventArgs e)
    {
    int temp = rnd.Next(7000, 12000);
    label3.Text = Convert.ToString(temp);
    }
    }
    }
     
Загрузка...

Поделиться этой страницей